body.cart::before {
  content: "";
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: none;
  opacity: 0;
  background: rgba(25, 25, 30, 0.75) url(/images/loader-transp.png) no-repeat
    50% 50%/10vw auto;
  transition:
    opacity 0.5s,
    display 0.5s allow-discrete;
}
body.cart[aria-busy="true"]::before {
  display: block;
  opacity: 1;
}
@starting-style {
  body.cart[aria-busy="true"]::before {
    opacity: 0;
  }
}
body.cart .cart__cnt,
body.cart #main-title {
  min-inline-size: 100%;
}
body.cart [aria-label="breadcrumbs"] {
  margin-block-end: 0;
}

main {
  padding-block-end: 0;
}

#content-area {
  /* overflow: clip; */
  background: linear-gradient(
    to bottom,
    var(--color-bg-menu) 0,
    var(--color-bg-menu) 6rem,
    var(--color-white) 15rem
  );
}

main:has(.cart__cnt) {
  min-inline-size: calc(100dvi - 3rem);
}
main:has(.cart__cnt) nav[aria-label="breadcrumbs"] small {
  display: none;
}
main:has(.cart__cnt) h1 {
  text-align: center;
}
main:has(.cart__cnt) h1 small,
main:has(.cart__cnt) h2 small,
main:has(.cart__cnt) h3 small {
  font-weight: 400;
  opacity: 0.8;
}
main:has(.cart__cnt) h1 small *,
main:has(.cart__cnt) h2 small *,
main:has(.cart__cnt) h3 small * {
  font-style: normal;
  font-weight: inherit;
}
main:has(.cart__cnt) h1 small em,
main:has(.cart__cnt) h2 small em,
main:has(.cart__cnt) h3 small em {
  text-decoration: dashed underline 1px;
  text-underline-offset: 0.25rem;
}
main:has(.cart__cnt) h1 small {
  display: block;
  font-size: 50%;
  text-transform: uppercase;
}
main:has(.cart__cnt) h3 small {
  font-size: 75%;
}

@media (width >= 75rem) {
  .open__dialog__side {
    display: none;
  }
}
@media (width < 75rem) {
  #--dialog__side {
    display: none;
  }
  main:has([aria-controls="dialog__side"][aria-expanded="true"])
    #--dialog__side {
    display: block;
  }
}
.cart__cnt {
  background: var(--color-bg-menu);
  border-radius: 1rem;
  padding: 1rem;
  inline-size: 100%;
}
.cart__cnt:has(> :last-child:nth-child(2)) {
  min-block-size: calc(100dvb - 16rem);
  display: grid;
}
@media (width >= 72rem) {
  .cart__cnt:has(> :last-child:nth-child(2)) {
    grid-template-columns: 5fr 2fr;
  }
}
.cart__cnt .cart__nocartselected {
  font-size: 1.6rem;
  ltext-align: center;
  color: var(--color-lightblue);
  text-transform: uppercase;
  font-weight: 400;
  margin: 2.5rem 2.5rem;
  letter-spacing: 1px;
  max-inline-size: 40ch;
  text-wrap: pretty;
}
.cart__cnt .cart__nocartselected small {
  color: var(--color-border-dark);
  text-transform: none;
  letter-spacing: 0;
  font-size: 75%;
  font-weight: 300;
  line-height: 1.5;
  display: block;
}
.cart__cnt .cart__nocartselected :any-link {
  color: var(--color-lightblue);
  font-weight: 400;
}
.cart__cnt .cart__nocartselected--notvalid {
  text-align: center;
  margin-inline: auto;
}
.cart__cnt .cart__viewtype {
  margin: 1.5rem 0.75rem 1.5rem 1.5rem;
  float: right;
  display: flex;
  gap: 1rem;
  padding: 0.25rem;
}
@media (width <= 42rem) {
  .cart__cnt .cart__viewtype {
    display: none;
  }
}
.cart__cnt .cart__viewtype a,
.cart__cnt .cart__viewtype a:link,
.cart__cnt .cart__viewtype a:visited {
  background: transparent;
  inline-size: 3rem;
  padding: 0.5rem;
  aspect-ratio: 1;
  border-radius: 0.5rem;
  box-shadow: var(--shadow-small);
  color: var(--color-lightblue);
  border: 1px var(--color-border) solid;
}
.cart__cnt .cart__viewtype a[aria-current="location"],
.cart__cnt .cart__viewtype a:link[aria-current="location"],
.cart__cnt .cart__viewtype a:visited[aria-current="location"] {
  box-shadow: none;
  background: var(--color-white);
  transform: translateY(2px);
  box-shadow: none;
  border: 1px var(--color-border) solid;
  border-left-width: 1px;
  border-top-width: 1px;
  box-shadow: inset 1px 1px 2px hsla(220, 5%, 64%, 0.5);
  border-block-start-color: var(--color-border-dark);
  border-inline-start-color: var(--color-border-dark);
}
.cart__cnt .cart__viewtype a svg {
  stroke: var(--color-lightblue);
  stroke-width: 4px;
  fill: none;
  display: block;
  inline-size: 100%;
  aspect-ratio: 1;
}
.cart__cnt .cart__main {
  background: var(--color-white);
  border-radius: 0.5rem;
  padding-inline: 0.25rem;
  color: var(--color-darkblue);
  container: cart/inline-size;
  overflow: clip;
  padding-block-end: 0rem;
}
@media (width < 72rem) {
  .cart__cnt .cart__main {
    margin-bottom: 3rem;
  }
}
.cart__cnt .cart__side {
  border-radius: 0.5rem;
}
@media (width >= 72rem) and (width < 84rem) {
  .cart__cnt .cart__side .numart {
    display: none;
  }
}
@media (width <= 42rem) {
  .cart__cnt .cart__side {
    display: none;
  }
}
@media (width >= 72rem) {
  .cart__cnt .cart__side {
    padding: 0 0 0 1rem;
  }
}
.cart__cnt .cart__side h2 {
  background: var(--color-white);
  margin-block-start: 0;
}
.cart__cnt .cart__side h2:not(:first-of-type) {
  margin-block-start: 3rem;
}
.cart__cnt .cart__side .noavail {
  margin-block: 1.5rem;
  padding: 0;
  font-style: italic;
}
.cart__cnt .cart__side table {
  max-inline-size: 100%;
  margin-block: 1.5rem;
  border-collapse: collapse;
}
.cart__cnt .cart__side table caption {
  margin-block-end: 1.5rem;
}
.cart__cnt .cart__side table :where(td, th) {
  padding: 0 0.5rem 0 0;
  margin: 0;
}
.cart__cnt .cart__side table :where(td, th):last-child {
  min-inline-size: 7rem;
  white-space: nowrap;
}
.cart__cnt .cart__side table :where(td, th) {
  color: var(--color-darkblue);
}
.cart__cnt .cart__side table :where(td, th):nth-child(1) {
  padding-inline-start: 0.5rem;
}
.cart__cnt .cart__side table :where(td, th):nth-child(3):not(.actions) {
  text-align: center;
}
@media (width >= 72rem) and (width < 84rem) {
  .cart__cnt .cart__side table :where(td, th):nth-child(3):not(.actions) {
    display: none;
  }
}
.cart__cnt .cart__side table th {
  text-align: left;
  font-weight: 500;
  padding-block-end: 0.5rem;
  border-bottom: 1px solid var(--color-border);
}
.cart__cnt .cart__side table th:not(.no-sort) button::after {
  content: ""/"not sorted";
  inline-size: 1rem;
  background-image:
    url(/images/bg/arrow-up.svg), url(/images/bg/arrow-down.svg);
  background-size: auto 0.5rem;
  background-repeat: no-repeat;
  background-position:
    50% 15%,
    50% 85%;
  line-height: 1;
  opacity: 0.45;
  margin-inline-start: auto;
}
.cart__cnt
  .cart__side
  table
  th:not(.no-sort)[aria-sort="ascending"]
  button::after {
  content: ""/"ascending order";
  background-image: url(/images/bg/arrow-up.svg);
  background-position: 50% 15%;
  opacity: 1;
}
.cart__cnt
  .cart__side
  table
  th:not(.no-sort)[aria-sort="descending"]
  button::after {
  content: ""/"descending order";
  background-image: url(/images/bg/arrow-down.svg);
  background-position: 50% 85%;
  opacity: 1;
}
.cart__cnt .cart__side table tbody {
  font-size: 0.92rem;
}
.cart__cnt .cart__side table button {
  background: none;
  border: 0;
  font: inherit;
  padding: 0;
  line-height: 1.33;
  inline-size: 2.75rem;
  cursor: pointer;
  padding: 0.25rem 0;
}
.cart__cnt .cart__side table th button {
  inline-size: 100%;
  text-align: left;
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
  color: inherit;
  border-radius: 0.25rem;
}
.cart__cnt .cart__side table th button:focus {
  outline: 2px solid var(--color-lightblue) !important;
}
.cart__cnt .cart__side table .actions button {
  padding: 0.5rem;
  aspect-ratio: 1;
  color: inherit;
  border-radius: 0.5rem;
}
.cart__cnt .cart__side table .actions button:focus {
  outline-offset: -0.25rem;
  color: var(--color-lightblue);
}
.cart__cnt .cart__side table .actions button[aria-disabled="true"] svg {
  opacity: 0.5;
}
.cart__cnt .cart__side table .actions button[aria-disabled="true"] {
  cursor: default;
}
.cart__cnt .cart__side table .actions button svg {
  pointer-events: none;
}
.cart__cnt .cart__side table .actions button svg:has([href="#icon-clone"]) {
  fill: none;
  stroke-width: 3px;
  stroke: var(--color-lightblue);
}
.cart__cnt .cart__side table .actions button svg:has([href="#icon-pencil"]) {
  fill: var(--color-lightblue);
  stroke-width: 9px;
  stroke: var(--color-lightblue);
}
.cart__cnt .cart__side table .actions button svg:has([href="#icon-restore"]) {
  fill: var(--color-lightblue);
}
.cart__cnt .cart__side table .actions button svg {
  max-inline-size: 100%;
  aspect-ratio: 1;
  display: block;
}
.cart__cnt .cart__side table tr > *:last-child {
  text-align: right;
}
.cart__cnt .cart__side table :any-link {
  color: var(--color-lightblue);
  font-weight: 400;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  display: block;
  word-spacing: 0.25rem;
  inline-size: max(9rem, 9vw);
  text-transform: uppercase;
}
.cart__cnt .cart__side table [aria-selected] {
  background: var(--color-white);
  font-weight: 600;
}
.cart__cnt .cart__side table [aria-selected] span {
  font-weight: 400;
}
.cart__cnt .cart__side table [aria-selected] :any-link {
  text-decoration: none;
  font-weight: 600;
}
.cart__cnt .cart__side table [aria-selected] :any-link::before {
  content: ""/"selezionato";
  display: inline-block;
  vertical-align: middle;
  margin-inline-end: 0.25rem;
  aspect-ratio: 1;
  block-size: 0.65lh;
  transform: rotateZ(-90deg) translateX(2px);
  background-image: url(/images/bg/triangle.svg);
  background-position: 50% 0;
  background-repeat: no-repeat;
}
.cart__cnt .cart__side #removeditems :is(th, td):not(:last-child) {
  padding-inline-end: 1.25rem;
}
.cart__cnt .cart__side #removeditems :is(th, td):last-child {
  min-inline-size: 0;
}
.cart__cnt .cart__funcmodel {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
.cart__cnt .cart__funcmodel li {
  flex: 1 1 100%;
}
.cart__cnt .cart__funcmodel button {
  inline-size: 100%;
}
.cart__cnt .cart__funcmodel button[aria-disabled="true"] {
  opacity: 0.6;
}
.cart__cnt .importcreate p {
  font-size: 1rem;
  font-style: italic;
  margin-block-end: 1.5rem;
}
.cart__cnt .importcreate .fld {
  display: flex;
  justify-content: end;
  gap: 1rem;
}
.cart__cnt table {
  inline-size: 100%;
}
.cart__cnt table caption {
  text-align: left;
  font-size: 1rem;
}
.cart__cnt dialog#dialog-voucher {
  position: static;
  border: 0;
  margin: 0;
  padding-inline: 0;
  inline-size: 100%;
}
.cart__cnt dialog#dialog-voucher:focus {
  outline: none;
}
.cart__cnt dialog#dialog-voucher form {
  inline-size: 100%;
}
.cart__cnt dialog#dialog-voucher ul,
.cart__cnt dialog#dialog-voucher li {
  display: block;
}
.cart__cnt dialog#dialog-voucher input {
  inline-size: 19ch;
}
.cart__cnt dialog#dialog-voucher fieldset {
  align-items: center;
  justify-content: space-between;
}
@container (width > 32rem) {
  .cart__cnt dialog#dialog-voucher fieldset {
    justify-content: end;
  }
}
.cart__cnt dialog#dialog-voucher label {
  flex: 1 1 100%;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) {
  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;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side)[open] {
  animation: fadeIn 0.5s forwards;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side)[open]::backdrop {
  animation: backdropFadeIn 0.5s forwards;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side)::backdrop {
  background: rgba(25, 25, 30, 0.75);
  animation: backdropFadeOut 0.5s forwards;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) h3,
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) h4 {
  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);
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  p:not(.visually-hidden) {
  color: var(--color-text);
  padding-block-end: 0 !important;
  align-self: center;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .formgen {
  padding: 0.5rem 1.5rem 2rem;
  overflow: auto;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  .formgen
  li:not(.formgen__choice) {
  grid-template: repeat(2, auto) / 10rem minmax(0, 1fr) !important;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  .formgen
  li:is(.formgen__choice) {
  gap: 0 !important;
  --w: 10rem;
  --row: 1 !important;
  grid-template: repeat(1, auto) / var(--w) fit-content(0) fit-content(0) !important;
  /* @media (width >= 48rem) { --w: 150px;} */
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  .formgen
  li:is(.formgen__choice)
  label:not(:last-of-type) {
  margin-inline-end: 2rem;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  .formgen
  .formgen__choice
  #desc-tipo_cart {
  _grid-area: 1/1/2/3;
  padding: 0.75rem 0 !important;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) button {
  min-inline-size: auto !important;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .dialog-cancel {
  border: 2px solid var(--color-lightblue);
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .dialog-cancel:focus {
  outline: 2px solid var(--color-lightblue);
  outline-offset: 2px;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  .dialog-cancel:is(:hover, :focus) {
  background-color: var(--color-bg-menu);
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) legend {
  font-weight: inherit !important;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem !important;
  align-items: center;
  gap: 2rem;
  display: flex !important;
  color: var(--color-darkblue);
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) legend svg {
  fill: none;
  inline-size: 10rem;
  block-size: 6rem;
  stroke: currentColor;
  stroke-width: 3px;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .liveregion strong {
  display: inline;
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .table,
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  fieldset:has(ul.list) {
  max-block-size: min(37dvb, 40rem);
  --padding: 0.5rem;
  padding: var(--padding) 1rem var(--padding) 0;
  overflow: auto;
  overflow-x: clip;
  container-type: block;
}
@supports (animation-timeline: scroll()) {
  .cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .table::before,
  .cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .table::after,
  .cart__cnt
    dialog:not(#dialog-voucher):not(#dialog__side)
    fieldset:has(ul.list)::before,
  .cart__cnt
    dialog:not(#dialog-voucher):not(#dialog__side)
    fieldset:has(ul.list)::after {
    content: "";
    inline-size: 100%;
    display: block;
    position: sticky;
    z-index: 10;
    pointer-events: none;
    --height: min(8cqi, 1.5rem);
    height: var(--height);
    opacity: 0;
    animation: auto linear to-opaque both;
    animation-timeline: scroll();
  }
  .cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .table::before,
  .cart__cnt
    dialog:not(#dialog-voucher):not(#dialog__side)
    fieldset:has(ul.list)::before {
    top: calc(var(--padding) * -1);
    margin-bottom: calc(-1 * var(--height));
    animation-range: contain 0 contain var(--height);
    background: radial-gradient(
        farthest-side at 50% 0,
        rgba(25, 25, 30, 0.1),
        rgba(25, 25, 30, 0)
      )
      0 -5px no-repeat;
  }
  .cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) .table::after,
  .cart__cnt
    dialog:not(#dialog-voucher):not(#dialog__side)
    fieldset:has(ul.list)::after {
    bottom: calc(var(--padding) * -1);
    margin-top: calc(-1 * var(--height));
    animation-range: contain calc(100% - var(--height)) contain 100%;
    animation-direction: reverse;
    background: radial-gradient(
        farthest-side at 50% 100%,
        rgba(25, 25, 30, 0.1),
        rgba(25, 25, 30, 0)
      )
      0 calc(100% + 5px) no-repeat;
  }
}
.cart__cnt dialog:not(#dialog-voucher):not(#dialog__side) ul.list {
  margin: 4px;
  gap: 1rem;
  inline-size: 100%;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]) {
  display: flex;
  position: relative;
  line-height: 2;
  margin-block: 0;
  padding: 0.25rem;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]):has(input:hover)
  label,
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"])
  label:hover {
  font-weight: 500;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]):has(input:hover)
  label::after,
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"])
  label:hover::after {
  border: 2px solid var(--color-lightblue);
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]):focus-within {
  outline: 2px solid var(--color-lightblue);
  outline-offset: 0;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]):focus-within
  * {
  outline: none;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"])
  label {
  flex: 1;
  align-items: center;
  display: flex;
  cursor: pointer;
  justify-content: space-between;
  padding-inline-end: 0;
  color: var(--color-lightblue);
  transition: font-weight 0.33s;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"])
  label::after {
  content: "";
  border: 1px solid var(--color-border-dark);
  inline-size: 2rem;
  block-size: 2rem;
  padding: 3px;
  box-sizing: border-box;
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"]):has(:checked)
  label::after {
  /*
  background-repeat: no-repeat;
  background-size: 80% auto;
  background-position: center;
  background-image: linear-gradient(
    var(--color-lightblue),
    var(--color-lightblue)
  );
  background-origin: padding-box;
  background-size: calc(100% - 4px) calc(100% - 4px);*/
  background-image: url(/images/checkmark.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 4px) calc(100% - 4px);
}
.cart__cnt
  dialog:not(#dialog-voucher):not(#dialog__side)
  li:has([type="checkbox"])
  input {
  right: 0;
  position: absolute;
  inline-size: 2rem;
  block-size: 2rem;
  inset: 0.25rem 0.25rem auto auto;
  opacity: 0;
  cursor: pointer;
  margin: 0;
}
.cart__cnt .cartwarning {
  padding: 0 0 2rem;
  margin-inline: 1rem;
  border-bottom: 2px dotted var(--color-border);
  margin-block-end: 2rem;
}
.cart__cnt :has(+ .cartwarning) {
  margin-block-end: 0;
}
.cart__cnt .products--cartcnt {
  margin: 3rem 0 1.5rem 0;
}
.cart__cnt .products--cartcnt .cart__ctas {
  padding: 1rem 1rem 0 1rem;
  position: sticky;
  z-index: 11;
  top: 0;
  margin-block-end: 1rem;
  background: var(--color-white);
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1rem;
  justify-content: space-between;
}
.cart__cnt .products--cartcnt .cart__ctas::after {
  content: "";
  block-size: 2px;
  display: block;
  flex: 9999 0 100%;
  border-bottom: 2px dotted var(--color-border);
}
@media (width < 64rem) {
  .cart__cnt .products--cartcnt .cart__ctas {
    position: static;
  }
}
@media (width <= 54rem) {
  .cart__cnt .products--cartcnt .cart__ctas {
    display: none;
  }
}
.cart__cnt .products--cartcnt .cart__ctas button {
  transition: all 0.33s;
}
.cart__cnt .products--cartcnt .cart__ctas [aria-disabled] {
  cursor: not-allowed;
  filter: grayscale(1);
  opacity: 0.6;
}
.cart__cnt .products--cartcnt:not(:has(details)) .cart__ctas {
  margin-block-end: -2px;
}
.cart__cnt .products--cartcnt:not(:has(details)) .cart__ctas::after {
  border-bottom: 0;
  border-bottom: 2px dotted var(--color-border);
}
.cart__cnt :not(summary) + .products--cart {
  margin-inline: 0.25rem;
}
.cart__cnt :not(summary) + .products--cart::before {
  border-top: 2px dotted var(--color-border);
  content: "";
  margin-inline: 0.75rem;
  display: block;
}
.cart__cnt summary + .products--cart li {
  margin-inline: 0;
}
.cart__cnt .products--cart {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 10;
}
.cart__cnt .products--cart [data-warning-budget] {
  text-transform: uppercase;
  font-size: 0.8rem;
  color: var(--color-error);
}
.cart__cnt .products--cart h3 {
  margin-block-end: 0;
}
@media (width <= 42rem) {
  .cart__cnt .products--cart h3 {
    padding-block-end: 0.5rem;
  }
}
.cart__cnt .products--cart .products__selection {
  grid-area: sel;
  inline-size: 2rem;
  justify-self: center;
  margin-block-start: 0.5rem;
}
.cart__cnt .products--cart .products__selection label {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 1;
  display: block;
}
.cart__cnt .products--cart .products__selection label::after {
  content: "";
  border: 1px solid var(--color-border-dark);
  inline-size: 100%;
  aspect-ratio: 1;
  padding: 3px;
  display: block;
  border-radius: 3px;
  box-sizing: border-box;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.cart__cnt .products--cart .products__selection:has(:checked) label::after {
  /* 
  background-size: 80% auto;
  background-position: center;
  background-image: linear-gradient(
    var(--color-lightblue),
    var(--color-lightblue)
  );
  background-origin: padding-box;
  background-size: calc(100% - 4px) calc(100% - 4px); */
  background-image: url(/images/checkmark.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 4px) calc(100% - 4px);
}
.cart__cnt .products--cart .products__selection input {
  opacity: 0.001;
  inline-size: 100%;
  aspect-ratio: 1;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  cursor: pointer;
  margin: 0;
}
.cart__cnt .products--cart .products__colop {
  display: flex;
  margin: 1rem 0;
  align-items: center;
  gap: 1.5rem;
  color: var(--color-lightblue);
  font-size: 0.92rem;
}
.cart__cnt .products--cart .products__colop img {
  margin: 0;
  aspect-ratio: initial;
  max-inline-size: 5rem;
  border-radius: 5px;
  border: 0.5rem solid var(--color-white);
  outline: 1px solid var(--color-border);
}
.cart__cnt .products--cart .products__avl {
  position: static;
  background: none;
  padding: 0;
}
.cart__cnt .products--cart .products__delete {
  grid-area: del;
}
.cart__cnt .products--cart .products__delete button {
  background: none;
  border: 0;
  padding: 0.5rem;
  aspect-ratio: 1;
  inline-size: 2.75rem;
  color: #86899e;
  background: transparent;
  transition: all 0.33s;
  cursor: pointer;
  border-radius: 0.25rem;
  transform: translateX(-0.25rem);
}
.cart__cnt .products--cart .products__delete button svg {
  display: block;
  fill: currentColor;
  stroke-width: 0;
  stroke: none;
  inline-size: 100%;
  aspect-ratio: 1;
  transition: all 0.33s;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 10;
  transform: translateX(1px);
}
.cart__cnt .products--cart .products__col1,
.cart__cnt .products--cart .products__col2 {
  text-align: center;
  align-self: start;
  margin-block-start: 0.25rem;
  color: var(--color-lightblue);
}
.cart__cnt .products--cart .products__col1 small,
.cart__cnt .products--cart .products__col2 small {
  white-space: nowrap;
  display: block;
}
.cart__cnt .products--cart .products__col1 b,
.cart__cnt .products--cart .products__col2 b {
  font-weight: 500;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.cart__cnt .products--cart .products__warning {
  grid-area: war;
}
.cart__cnt .products--cart .products__col1 {
  grid-area: col1;
}
.cart__cnt .products--cart .products__col2 {
  grid-area: col2;
}
.cart__cnt .products--cart .products__photo {
  grid-area: pho;
}
.cart__cnt .products--cart .products__body {
  grid-area: bod;
}
@media (width < 60rem) {
  .cart__cnt .products--cart .products__body {
    border-bottom: 2px dotted var(--color-border);
  }
}
.cart__cnt .products--cart .products__availability {
  grid-area: ava;
  align-self: center;
}
.cart__cnt .products--cart .products__actions {
  grid-area: act;
}
.cart__cnt .products--cart .products__budget {
  grid-area: bdg;
}
.cart__cnt .products--cart .products__budget [data-action] {
  border: 0;
  padding: 0;
  background-color: transparent;
  text-decoration: underline;
  color: var(--color-lightblue);
  text-transform: uppercase;
  font-size: 0.8rem;
  cursor: pointer;
}
.cart__cnt .products--cart .products__photo {
  padding-block-start: 0;
  font-size: 0;
  /*align-self: center;*/
  background-color: transparent;
  padding: 0;
}
.cart__cnt .products--cart .products__photo img {
  margin: 0;
  max-inline-size: 100%;
}
.cart__cnt .products--cart article.imgerror img {
  visibility: hidden;
}
.cart__cnt .products--cart article.imgerror .products__photo {
  background: var(--color-white) url(/icon-proced-192.png) 50% 50% no-repeat;
  background-size: 90% auto;
}
.cart__cnt .products--cart article {
  display: grid;
  gap: 1rem 1rem;
  padding-block: 1rem;
}
@media (width < 60rem) {
  .cart__cnt .products--cart article .products__selection,
  .cart__cnt .products--cart article .sortable__handle {
    display: none;
  }
  .cart__cnt .products--cart article {
    grid-template-columns: 10rem 3rem 2fr 2fr 3rem;
    grid-template-areas: "pho ava ava ava del" "pho bod bod bod bod" "act col1 col1 col2 col2" "bdg . war war .";
  }
}
@media (width <= 42rem) {
  .cart__cnt .products--cart article {
    padding: 0.75rem;
    grid-template-columns: 6fr 2fr 4fr 2fr 2fr;
    grid-template-areas: "pho ava ava ava ava" "pho act act act act" "bod bod bod bod bod" "col1 col2 col2 . del" "bdg bdg bdg bdg bdg" "war war war war war";
  }
}
@media (width >= 60rem) {
  @container (width >= 30rem) {
    .cart__cnt .products--cart article .products__availability {
      padding-block-end: 0.5rem;
      border-bottom: 2px dotted var(--color-border);
    }
    .cart__cnt .products--cart article {
      grid-template-columns: 3rem 6rem 3fr 3rem 2fr 2fr 3rem;
      grid-template-areas: "sel pho bod bod bod bod del" "sel pho bod bod bod bod  ." ".  pho ava ava ava ava ava" "act act act col1 col1 col2 col2" "bdg bdg bdg . war war .";
    }
    .cart__cnt .products--cart article:has(.sortable__handle) {
      grid-template-areas: "sel pho bod bod bod bod del" "sel pho bod bod bod bod ." ".  pho ava ava ava ava ava" "sor . act col1 col1 col2 col2" ". . bdg . war war .";
    }
    .cart__cnt .products--cart article.products--readonly {
      grid-template-columns: 6rem 3fr 3rem 2fr 2fr 3rem;
      grid-template-areas: "pho bod bod bod bod bod" "pho bod bod bod bod bod" "pho ava ava ava ava ava" ". act col1 col1 col2 col2" ". bdg . . . .";
    }
    .cart__cnt
      .products--cart
      article.products--readonly:has(.sortable__handle) {
      grid-template-areas: "pho bod bod bod bod bod" "pho bod bod bod bod bod" "pho ava ava ava ava ava" ". act col1 col1 col2 col2" ". bdg . . . .";
    }
  }
}
.cart__cnt .products--cart article .products__actions {
  align-self: center;
  margin-block-start: 0;
}
@container (width >= 60rem) {
  .cart__cnt .products--cart article {
    gap: 0 1rem;
  }
  .cart__cnt .products--cart article .products__availability {
    padding-block-end: 0;
    border-bottom: none;
  }
  .cart__cnt .products--cart article {
    grid-template-columns: 3rem 6rem 3fr 2fr 1fr 1fr 3rem;
    grid-template-areas: "sel pho bod act col1 col2 del" "sel pho bod act col1 col2  . " "sor pho ava bdg war war  . ";
  }
  .cart__cnt .products--cart article:has(.sortable__handle) {
    grid-template-areas: "sel pho bod act col1 col2 del" "sel pho bod . col1 col2  . " "sor pho ava bdg war war . ";
  }
  .cart__cnt .products--cart article.products--readonly {
    grid-template-columns: 6rem 3fr 2fr 1fr 1fr;
    grid-template-areas: "pho bod act col1 col2" "pho bod act col1 col2" "pho ava bdg war war";
  }
  .cart__cnt .products--cart article.products--readonly:has(.sortable__handle) {
    grid-template-areas: "pho bod act col1 col2" "pho bod . col1 col2" "pho ava bdg col1 col2";
  }
  .cart__cnt .products--cart article .products__budget {
    place-self: center;
    transform: translateY(-2px);
  }
  .cart__cnt .products--cart article .products__selection,
  .cart__cnt .products--cart article .products__delete,
  .cart__cnt .products--cart article .products__actions {
    margin-block-start: 0.5rem;
    align-self: start;
    justify-self: center;
  }
}
.cart__cnt .products--cart li {
  position: relative;
  will-change: transform;
  background: var(--color-white);
  z-index: 1;
  margin-inline: 0.75rem;
}
.cart__cnt .products--cart li:nth-last-child(2n-1) {
  background: #fbfcff;
}
.cart__cnt .products--cart li {
  border-bottom: 2px dotted var(--color-border);
}
.cart__cnt .products--cart li:is(.drag--active) {
  opacity: 0.25;
  cursor: grab;
}
.cart__cnt .products--cart li:is(.keyboard--active) {
  transform: translateX(0.5rem);
  opacity: 1;
  cursor: grab;
  z-index: 1000;
  box-shadow: var(--shadow);
  background: var(--color-bg-menu);
  border: 1px solid var(--color-border);
}
.cart__cnt .products--cart li:is(.is-idle) .drag-handle {
  cursor: grab;
}
.cart__cnt .products--cart li:is(.is-idle) {
  transition: 0.25s ease transform;
}
.cart__cnt .products--cart li:is(.is-draggable),
.cart__cnt .products--cart li:is(.is-draggable) .drag-handle {
  cursor: grabbing;
}
.cart__cnt .products--cart li:is(.is-draggable) {
  z-index: 1000;
}
.cart__cnt .products--cart input[aria-hidden="true"] {
  caret-color: transparent;
}
.cart__cnt .products--cart form:has(input[readonly]) {
  opacity: 0.6;
  filter: grayscale(1);
  pointer-events: none;
}
.cart__cnt .products--cart .products__delete {
  margin-block-start: 0;
  align-self: center;
}
@media (width <= 42rem) {
  .cart__cnt .products--cart .products__delete {
    justify-self: end;
  }
}
.cart__cnt .products--cart .sortable__handle {
  inline-size: 2.5rem;
  aspect-ratio: 1;
  text-align: center;
  font-size: 1.5rem;
  user-select: none;
  grid-area: sor;
  align-self: center;
  place-self: center;
}
.cart__cnt .products--cart .sortable__handle.sortable__handle--pointer {
  position: relative;
  z-index: 20;
  cursor: grab;
}
.cart__cnt .products--cart .sortable__handle.sortable__handle--keyboard {
  z-index: 1;
  padding: 1px;
}
.cart__cnt .products--cart .sortable__handle button {
  border: 0;
  inline-size: calc(2.4rem - 2px);
  line-height: 1;
  aspect-ratio: inherit;
  user-select: none;
  font-size: inherit;
  text-align: center;
  background: none;
  color: #86899e;
  border-radius: 0.25rem;
  padding: 0;
}
.cart__cnt .products--cart [role="group"] input {
  font-size: 1rem;
}
.cart__cnt details {
  margin-inline: 1rem;
}
.cart__cnt details:not(:last-of-type) {
  margin-block-end: 0.75rem;
}
.cart__cnt details summary {
  display: flex;
  cursor: pointer;
  position: relative;
  z-index: 2;
  letter-spacing: 1px;
  background: var(--color-bg-menu);
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  padding-inline-end: 0.75rem;
}
.cart__cnt details summary:focus {
  z-index: 11;
}
.cart__cnt details summary h3 {
  margin: 0;
  padding: 0.75rem 2rem 0.75rem 0.75rem;
  flex: 1;
  font-size: 1rem;
  display: flex;
}
.cart__cnt details summary h3 small {
  align-self: center;
  margin-inline-start: auto;
}
.cart__cnt details summary svg {
  inline-size: 1.75rem;
  aspect-ratio: 1;
  fill: none;
  stroke: var(--color-lightblue);
  pointer-events: none;
  transform: rotateZ(-90deg);
  transition: all 0.33s 0s;
}
.cart__cnt details[open] summary svg {
  transform: rotateZ(0deg);
}
.cart__cnt .dialog__budget table {
  max-inline-size: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}
.cart__cnt .dialog__budget .table {
  margin-block-end: 3rem;
  position: relative;
  padding-block-start: 0 !important;
}
.cart__cnt .dialog__budget th {
  font-weight: 500;
  color: var(--color-lightblue);
  padding-block-end: 1rem !important;
}
.cart__cnt .dialog__budget td {
  border-bottom: 1px dotted var(--color-border);
}
.cart__cnt .dialog__budget th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--color-paleblue);
  -box-shadow: var(--shadow-small);
}
.cart__cnt .dialog__budget :is(td, th) {
  padding: 0.5rem;
  color: var(--color-lightblue);
}
.cart__cnt .dialog__budget :is(td, th):nth-child(2) {
  inline-size: 8rem;
  text-align: right;
}

@keyframes to-opaque {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@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);
  }
}
@keyframes slideIn {
  from {
    transform: translate(100%);
  }
  to {
    transform: translate(0%);
  }
}
@keyframes slideOut {
  from {
    transform: translate(0%);
  }
  to {
    transform: translate(100%);
  }
}
.cart__search {
  padding: 1rem;
  background: linear-gradient(
    to left,
    var(--color-bg-menu),
    var(--color-bg-menu)
  );
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-small);
  margin-inline: 1rem;
}
@media (width <= 42rem) {
  .cart__search {
    display: none;
  }
}
.cart__search .fld:has(> button) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1.5rem;
}
.cart__search .fld:has(> button) label {
  padding-inline-end: 0;
  flex: 0 1 auto;
}
.cart__search .fld:has(> button) #desc-cerca-carrello {
  padding: 0;
  font-style: italic;
  order: 3;
  color: var(--color-border-dark);
}
@container (width > 50rem) {
  .cart__search .fld:has(> button) #desc-cerca-carrello {
    order: 10;
    margin: 1rem 0 0 0;
  }
}
.cart__search .fld:has(> button) input {
  flex: 1 0 70%;
  box-shadow: inset 0 0 0 100vw var(--color-white);
  transition: box-shadow 0.5s;
}
@container (width > 50rem) {
  .cart__search .fld:has(> button) input {
    flex: 1;
    max-inline-size: 25rem;
  }
}
.cart__search .fld:has(> button) button.cta {
  line-height: 1.38;
  justify-self: flex-end;
  min-inline-size: min(6rem, 100%);
}
.cart__search .fld:has(> button) button.cta:first-of-type {
  margin-inline-start: auto;
}
.cart__search .fld:has(> button) button.cta[type="reset"] {
  border: 1px solid;
}
.cart__search .fld:has(> button) button.cta[type="reset"]:focus {
  outline-offset: 2px;
}
.cart__search .fld:has(> button) #desc-cerca-carrello {
  padding: 0;
  font-style: italic;
}

.cart__main:has(mark) .products--cart li:not(:has(mark)),
.cart__main:has(mark) details:not(:has(mark)) {
  display: none;
}
.cart__main:has(mark) #cart__search input {
  box-shadow: inset 0 0 0 100vw transparent;
  padding-inline-end: 3rem;
  background: var(--color-palegreen) url(/images/bg/tick.svg);
  background-repeat: no-repeat;
  background-size: auto 50%;
  background-position: center right 0.5rem;
}
.cart__main:has(mark) mark {
  transition: transform 0.33s;
  transform: scale(1.1);
  background: var(--color-palegreen);
  padding: 0.1rem;
  border: 1px var(--color-border) solid;
  border-radius: 0.25rem;
  display: inline-block;
  font-weight: 600;
  color: var(--color-darkblue);
}
@starting-style {
  .cart__main:has(mark) mark {
    transform: scale(1);
  }
}

#btt-multiple-delete {
  display: flex;
  gap: 0.5rem;
}
#btt-multiple-delete svg {
  fill: currentColor;
  inline-size: 1.25rem;
  aspect-ratio: 1;
}
#btt-multiple-delete span:empty {
  display: none;
}

#cart__search--output {
  word-spacing: 0.25rem;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.1rem;
  color: var(--color-lightblue);
  letter-spacing: 1px;
  margin: 1rem;
}
#cart__search--output span {
  font-weight: 300;
}

#cart__search--output:has(b:empty) {
  visibility: hidden;
}

.cart__infoprice {
  margin-block-end: 1rem;
}

.cart__carttotal {
  margin: 0 1rem 1.5rem !important;
}
@container (width > 42rem) {
  .cart__carttotal {
    background: url(/images/bg/p.svg) 1rem center no-repeat;
    background-size: auto calc(100% - 2rem);
  }
}
.cart__carttotal {
  background-color: var(--color-palegreen);
  padding: 1rem;
  border-radius: 0.5rem;
  font-weight: 300;
  display: grid;
  grid-template-columns: auto auto;
}
.cart__carttotal:has(dt:last-of-type:first-of-type) {
  grid-template-columns: auto auto;
}
.cart__carttotal {
  align-items: center;
  gap: 0 1.5rem;
  justify-content: start;
}
@container (width > 42rem) {
  .cart__carttotal {
    justify-content: end;
  }
}
.cart__carttotal dt {
  font-size: 1rem;
  text-align: left;
}
.cart__carttotal dt:last-of-type {
  margin-block-start: 0.5rem;
  padding-block-end: 0;
  color: var(--color-lightblue);
  font-size: 1.2rem;
}
@container (width >= 42rem) {
  .cart__carttotal dt {
    text-align: right;
    font-size: 1.4rem;
  }
}
.cart__carttotal dd {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--color-lightblue);
}
.cart__carttotal dd strong {
  display: block;
  display: flex;
  font-weight: 400;
}
.cart__carttotal dd:last-of-type {
  padding-block-end: 0;
  margin-block-start: 0.5rem;
  font-size: 1.65rem;
}
@container (width >= 42rem) {
  .cart__carttotal dd:last-of-type {
    font-size: 1.9rem;
  }
}
.cart__carttotal dd:last-of-type strong {
  font-weight: 500;
}
.cart__carttotal dd output {
  flex: 1 0 auto;
  padding-inline-start: 1.5rem;
  text-align: right;
  justify-self: end;
}
.cart__carttotal dd.removevoucher {
  grid-area: span 1 / span 2;
  align-self: start;
  justify-self: end;
  font-size: 1rem;
  color: var(--color-pass);
  margin-block-end: 1rem;
}
.cart__carttotal dd.removevoucher button {
  color: inherit;
}
.cart__carttotal {
  border: 2px dotted var(--color-border);
  margin-inline: 0.5rem !important;
}
.cart__carttotal button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}
.cart__carttotal:has(output:empty) :is(dt, dd):nth-of-type(-n + 2) {
  display: none;
}

#totalecarrello {
  background: transparent;
  transition: color 0.33s;
}
#totalecarrello.updating {
  color: transparent;
  background: url(/images/loader-blue.png) center center no-repeat;
  background-size: 3rem auto;
}

.cart__voucher > p {
  text-align: right;
  max-inline-size: 100% !important;
}
.cart__voucher > p button {
  padding: 0;
  text-decoration: underline;
  background: none;
  font: inherit;
  border: 0;
  padding: 0.125rem;
  cursor: pointer;
  font-weight: 400;
  color: var(--color-darkblue);
}
.cart__voucher #desc-voucher {
  color: var(--color-error);
}
.cart__voucher label {
  grid-area: lab;
  text-align: right;
}
.cart__voucher input {
  grid-area: inp;
}
.cart__voucher button {
  grid-area: btt;
}
.cart__voucher #desc-voucher {
  grid-area: err !important;
  padding: 0;
  text-align: right !important;
  inline-size: min(100%, 36rem);
  justify-self: end;
}
.cart__voucher ul,
.cart__voucher li {
  display: contents !important;
}
.cart__voucher .formgen fieldset {
  display: grid;
  grid-template-areas: "lab lab" "inp btt" "err err";
}
@container (width > 42rem) {
  .cart__voucher .formgen fieldset {
    grid-template-areas: "lab inp btt" "err err err";
    grid-template-columns: 1fr auto auto;
  }
}

h2:has(+ .cart__bdgresiduo) {
  margin-block-end: 0;
}

.cart__bdgresiduo {
  margin: 0 1rem 1rem 1rem;
}
.cart__bdgresiduo:is(dl) {
  border-top: 2px dotted var(--color-border);
  padding-block-start: 1.5rem;
  display: grid;
  grid-template-columns: minmax(15rem, max-content) minmax(10rem, max-content);
  color: var(--color-darkblue);
}
.cart__bdgresiduo .cart__bdgresiduo__warning {
  text-align: left;
  margin-block: 1rem;
}
.cart__bdgresiduo .cart__bdgresiduo__warning span {
  padding-inline: 0.5rem !important;
  color: var(--color-error);
  background: var(--color-palegreen);
  padding: 0.5rem;
  border: 1px var(--color-border) solid;
  border-radius: 0.25rem;
  display: inline-block;
  font-weight: 600;
  inline-size: fit-content;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.cart__bdgresiduo dt {
  font-weight: 300;
}
.cart__bdgresiduo dd {
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.cart__bdgresiduo .lower {
  color: var(--color-error);
}
.cart__bdgresiduo:is(p) {
  margin-block: 1.5rem 3rem;
  padding-inline: 1rem;
  font-size: 1.25rem;
  border-radius: 0.5rem;
  border: 2px dotted var(--color-border);
  /*background: var(--color-paleorange);*/
}
.cart__bdgresiduo * {
  margin: 0;
  padding: 0;
}

.cart__delete .fld {
  display: flex;
  justify-content: end;
}

.cart__actions {
  max-inline-size: calc(100% + 1rem);
  margin: 3rem calc(var(--space-l) * -1) 0;
  padding: 1.5rem 1.5rem;
  border-top: 2px dotted var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 1rem;
  justify-content: space-between;
  position: sticky;
  inset: auto 0 0 0;
  z-index: 90;
  background: linear-gradient(to top, #ffffff, rgba(255, 255, 255, 0.6))
    repeat-x;
  background: var(--color-palegreen);
  border-top: 2px dotted var(--color-border-dark);
}
.cart__actions:not(:has(form)),
.cart__actions div:not(:has(form)) {
  display: none;
}

.checkout .cart__actions {
  margin: 3rem 0 0;
}

.cart__actions--auth {
  display: flex;
  gap: 0 1rem;
  justify-content: start;
  flex-wrap: nowrap;
}

.cart__actions--confirm {
  flex: 1 0 auto;
}
.cart__actions--confirm form {
  display: block;
  margin-inline-start: auto;
  inline-size: fit-content;
}

.cart__actions button {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  line-height: 1.75;
}
.cart__actions svg {
  fill: none;
  stroke: var(--color-white);
  block-size: 1rem;
  aspect-ratio: 1;
}

dialog#dialog__side {
  border: 0;
  padding: 0;
  inline-size: 100%;
}
dialog#dialog__side:not([open]) {
  position: absolute;
  top: 0;
  right: 0;
}
dialog#dialog__side[open] {
  background: none;
  position: static;
}
@media (width < 72rem) {
  dialog#dialog__side[open] {
    background: var(--color-bg-menu);
    position: fixed;
    z-index: 99;
    bottom: 0;
    right: 0;
    top: 0;
    block-size: 100dvb;
    overflow: auto;
    left: auto;
    transform: translateX(90%);
    border-left: 3px solid var(--color-lightblue);
    padding-inline-start: 1.5rem;
    margin: 0;
    inline-size: 30rem;
  }
}

h2:has(+ .cart__additem) {
  margin-inline: 0.75rem;
  padding-inline: 0;
  margin-block-end: 0;
}

h2 + .cart__additem {
  border-block-start: 2px dotted var(--color-border);
}

.cart__additem {
  padding: 1.5rem 0;
  border-block-end: 2px dotted var(--color-border);
  margin-inline: 1rem;
  border-radius: 0;
  margin-block-end: 1.5rem;
}
.cart__additem [name="quantita"] {
  padding-inline: var(--space-xs) !important;
  border-radius: 0 !important;
}
.cart__additem .products--cart::before {
  display: none !important;
}
.cart__additem form,
.cart__additem .products--cart {
  padding: 0 1rem;
}
.cart__additem svg {
  fill: currentColor;
}
.cart__additem .cart__additem__step1 fieldset {
  gap: 1rem 0.5rem;
  display: grid;
  grid-template-areas: "lab lab lab" "inp inp btt" "des des des";
  grid-template-columns: 5fr 3fr 3fr;
}
@container (width > 42rem) {
  .cart__additem .cart__additem__step1 fieldset {
    gap: 1rem 1rem;
    grid-template-areas: "lab inp btt" ". des des";
    grid-template-columns: auto minmax(auto, 20ch) auto;
  }
}
@container (width > 48rem) {
  .cart__additem .cart__additem__step1 fieldset {
    grid-template-areas: "lab inp btt des";
    grid-template-columns: 10rem minmax(auto, 20ch) auto 1fr;
    gap: 1rem 1.5rem;
  }
}
.cart__additem .cart__additem__step1 fieldset label {
  grid-area: lab;
  align-self: center;
  padding-inline-end: 0;
}
.cart__additem .cart__additem__step1 fieldset input {
  grid-area: inp;
}
.cart__additem .cart__additem__step1 fieldset button {
  grid-area: btt;
}
.cart__additem .cart__additem__step1 fieldset [aria-live] {
  grid-area: des;
  align-self: center;
}
.cart__additem .cart__additem__step1 fieldset [aria-live] p {
  padding: 0;
}
.cart__additem .cart__additem__step1 fieldset [aria-live].found {
  color: var(--color-pass);
}
.cart__additem .cart__additem__step1 fieldset [aria-live].notfound {
  color: var(--color-error);
}
.cart__additem .cart__additem__step1 fieldset input,
.cart__additem
  .cart__additem__step1
  fieldset
  input:is(:-webkit-autofill, :autofill) {
  -webkit-text-fill-color: var(--color-lightblue);
  appearance: none;
  outline-color: var(--color-lightblue);
}
.cart__additem [role="group"] {
  display: inline-flex;
}
.cart__additem .cart__additem__step2 {
  margin-block-start: 1.5rem;
  display: grid;
  gap: 1rem 1.5rem;
  grid-template-columns: 10rem 1fr 1fr;
  grid-template-areas: "img des des" "img form form";
}
@media (width <= 42rem) {
  .cart__additem .cart__additem__step2 {
    grid-template-columns: 6fr 6fr 6fr;
    grid-template-areas: ". img . " "form form form" "des des des";
  }
}
.cart__additem .cart__additem__step2[aria-hidden] {
  display: none;
}
.cart__additem .cart__additem__step2 .products__body small {
  position: static;
  transform: translateY(0);
}
.cart__additem .cart__additem__step2 form {
  display: flex;
  grid-area: form !important;
  gap: 1.5rem;
  padding: 0;
  align-self: center;
}
.cart__additem .cart__additem__step2 form svg {
  display: initial;
  aspect-ratio: 1;
}
.cart__additem .cart__additem__step2 form [type="submit"] {
  display: initial;
}
.cart__additem .cart__additem__step2 .products__photo {
  grid-area: img;
}
.cart__additem .cart__additem__step2 .products__body {
  grid-area: des;
  display: initial;
  border-bottom: 2px dotted var(--color-border);
  padding-block-end: 0.5rem;
}
.cart__additem .cart__additem__step2 .quantitygroup {
  grid-area: qta;
  justify-self: start;
  align-self: start;
}
@container (width > 54rem) {
  .cart__additem .cart__additem__step2 {
    grid-template-columns: 10rem 1fr auto;
    grid-template-areas: "img des form";
    gap: 3rem 1.5rem;
  }
  .cart__additem .cart__additem__step2 .products__body small {
    position: absolute;
    transform: translateY(-100%);
  }
  .cart__additem .cart__additem__step2 form {
    justify-self: end;
  }
  .cart__additem .cart__additem__step2 .products__body {
    border-bottom: 0 !important;
    padding-block-end: 0;
  }
  .cart__additem .cart__additem__step2 .products__body,
  .cart__additem .cart__additem__step2 .quantitygroup {
    align-self: center;
  }
}

body.checkout,
body.cart {
  position: relative;
}
body.checkout button.iubenda-tp-btn,
body.checkout
  button.iubenda-tp-btn:not(.iubenda-floatable-tb-btn)[data-tp-float],
body.cart button.iubenda-tp-btn,
body.cart button.iubenda-tp-btn:not(.iubenda-floatable-tb-btn)[data-tp-float] {
  position: absolute !important;
}

.cart mark {
  margin-inline: auto;
  display: block;
  inline-size: fit-content;
  text-transform: uppercase;
  letter-spacing: 1px;
  /* margin-block: -1rem 2rem; */
  margin-block: 0;
  padding: 0.25rem 0.5rem;
  padding: 0 !important;
  background: var(--color-lightblue);
  color: var(--color-white);
}

.cart article .products__body a {
  line-height: 1.5;
}

html:has(.checkoutwrapper) {
  scroll-padding-block-end: 8rem;
}

.checkout .checkoutwrapper {
  display: grid;
  grid-template-columns: 1fr min(100%, 96rem) 1fr;
}
.checkout .checkoutwrapper > .cnt {
  grid-column: 2/3;
}
.checkout .checkoutwrapper > .cart__actions {
  grid-column: 1/4;
}
.checkout .cart__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
.checkout .cart__actions > * {
  line-height: 1.75;
}
.checkout .cart__actions [form],
.checkout .cart__actions a {
  text-align: center;
  justify-content: center;
  border: 1px solid var(--color-lightblue);
}
@media (width <= 42rem) {
  .checkout .cart__actions [form],
  .checkout .cart__actions a {
    display: none;
  }
}
.checkout .cart__actions:has(> :only-child) {
  justify-content: end;
}
.checkout .cart__actions {
  --minsize: 18rem;
}
.checkout .cart__actions .cta {
  flex: 1;
  min-inline-size: max(var(--minsize), 100%);
}
@media (width > 42rem) {
  .checkout .cart__actions .cta {
    flex: 0;
    min-inline-size: var(--minsize);
  }
}
.checkout .formgen {
  background: none;
  padding: 0;
  box-shadow: none;
}
.checkout h1 {
  text-align: center;
  margin-inline: auto;
}
.checkout h1 small {
  font-size: 1rem;
  display: block;
  font-weight: 300;
  margin-block-start: 0.5rem;
}
.checkout .checkout__progress {
  /* background: var(--color-palegreen);
      border: 2px dotted var(--color-border);
     */
  padding: 3rem;
  border-radius: 0.5rem;
}
@media (width <= 42rem) {
  .checkout .checkout__progress {
    padding: 1.5rem 0.5rem;
  }
}
.checkout .checkout__progress ul {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
@container (width <= 42rem) {
  .checkout .checkout__progress ul {
    font-size: 0.86rem;
  }
}
.checkout .checkout__progress li {
  color: var(--color-lightblue);
  flex: 1 1 33.33%;
  text-align: center;
  position: relative;
  padding-inline: 0.5rem;
  padding-bottom: 2rem;
}
.checkout .checkout__progress li:not(:has(a)):not(:has(button))::before {
  background-color: var(--color-pass);
}
.checkout .checkout__progress li::before,
.checkout .checkout__progress li :is(a, button)::before {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;
  bottom: 0;
  left: 50%;
  inline-size: 2rem;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translate(-50%, calc(50% - 0.25rem));
  background: var(--color-border);
}
.checkout .checkout__progress li {
  /* stato inziale colori progress bar */
}
.checkout .checkout__progress li::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  block-size: 0.5rem;
  background: linear-gradient(
    to right,
    var(--color--before) 0,
    var(--color--before) 50%,
    var(--color--after) 0,
    var(--color--after) 100%
  );
  --color--before: var(--color-border);
  --color--after: var(--color-border);
}
.checkout .checkout__progress li:last-child::after {
  --color--after: transparent;
}
.checkout .checkout__progress li:first-child::after {
  --color--before: transparent;
}
.checkout .checkout__progress li:has([aria-current]):not(:first-child)::after {
  --color--before: var(--color-pass);
}
.checkout .checkout__progress li:has(~ li [aria-current])::after {
  --color--after: var(--color-pass);
}
.checkout
  .checkout__progress
  li:has(~ li [aria-current]):not(:first-child)::after {
  --color--before: var(--color-pass);
}
.checkout .checkout__progress :is(:any-link, button) {
  color: inherit;
  text-decoration: none;
  padding: 0;
  font: inherit;
  background: none;
  cursor: pointer;
  border: 0;
}
.checkout .checkout__progress :is(:any-link, button)::before {
  z-index: 4;
  background: #e5f0e2;
  outline: 0.6rem solid var(--color-pass);
  outline-offset: -0.6rem;
}
.checkout .checkout__progress [aria-current] {
  pointer-events: none;
  font-weight: 600;
}
.checkout .checkout__progress__cc {
  display: none;
}
.checkout:has(#fld-pagamento-2:checked) .checkout__progress__cc {
  display: initial;
}
.checkout :is(.checkout__shipping, .checkout__payment) label strong {
  color: var(--color-lightblue);
}
.checkout .checkout__dest {
  gap: 2.5rem;
  display: flex;
}
.checkout .checkout__dest > * {
  flex: 1;
}
@media (width < 64rem) {
  .checkout .checkout__dest {
    flex-direction: column;
  }
}
.checkout .checkout__dest li[role="option"] {
  padding-inline: 0.5rem !important;
}
.checkout .checkout__dest li[role="option"] small {
  vertical-align: baseline;
}
.checkout .checkout__dest p {
  flex: initial;
  padding-block: 0;
}
.checkout .checkout__dest dd {
  word-break: break-word;
  margin-inline-start: 1rem;
  font-variant-numeric: tabular-nums;
}
.checkout .checkout__dest dt:not(:first-of-type) {
  margin-block-start: 1rem;
  padding-block-start: 1rem;
  border-top: 2px dotted var(--color-border);
}
.checkout .checkout__dest dl {
  margin: 0;
}
.checkout .checkout__dest dl b {
  color: var(--color-lightblue);
}
.checkout .checkout__dest--address,
.checkout .checkout__dest--note {
  justify-content: start;
}
.checkout .checkout__dest--note dl {
  fdisplay: grid;
  gap: 0.5rem 1.5rem;
  grid-template-columns: 8rem 1fr;
}
@media (width < 64rem) {
  .checkout .checkout__dest--note dl br {
    display: none;
  }
}
.checkout .checkout__items section {
  background: none;
  display: block;
}
.checkout .checkout__items section > div:not(:first-child) {
  margin-block-start: 3rem;
}
.checkout .checkout__items .omaggi {
  padding: 1.5rem;
  border-radius: 0.5rem;
  background: var(--color-paleblue);
  border: 2px dotted var(--color-border);
}
.checkout .checkout__items .congrats {
  align-items: center;
  display: flex;
}
.checkout .checkout__items .congrats p {
  flex: 1;
  font-weight: 300;
  color: var(--color-lightblue);
  font-size: clamp(1.25rem, 1.25rem + 0.5vw, 1.75rem);
  padding: 0;
}
.checkout .checkout__items .congrats strong {
  display: block;
  color: var(--color-darkblue);
}
.checkout .checkout__items .congrats svg {
  inline-size: 7rem;
  stroke: var(--color-lightblue);
  transform: rotate(12deg);
  fill: none;
}
.checkout .checkout__items col:not(.item__name) {
  inline-size: 6rem;
}
.checkout #bttprint {
  float: right;
  transform: translateY(0.5rem);
  display: flex;
  align-items: center;
  gap: 1rem;
  line-height: 1.65;
}
.checkout #bttprint span {
  transform: none;
}
@media (width < 40rem) {
  .checkout #bttprint span {
    display: none;
  }
}
.checkout #bttprint svg {
  inline-size: 1.75rem;
  stroke-width: 1;
  stroke: transparent;
  margin: 0;
  fill: var(--color-white);
}
.checkout .checkout__omaggi {
  list-style: none;
  margin: 1.5rem 0 0 0;
  border-top: 2px dotted var(--color-border);
  padding: 0;
  gap: 1.5rem;
  display: grid;
  padding: 1.25rem 0;
  grid-template-columns: 1fr 1fr;
}
.checkout .checkout__omaggi:has(li:only-child) {
  grid-template-columns: 1fr;
}
@media (width < 56rem) {
  .checkout .checkout__omaggi {
    grid-template-columns: 1fr;
  }
}
.checkout .checkout__omaggi p {
  padding: 0;
  flex: 0;
  color: var(--color-lightblue);
}
.checkout .checkout__omaggi li {
  display: grid;
  gap: 0.5rem;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
@container (width > 42rem) {
  .checkout .checkout__omaggi li {
    gap: 1.5rem;
    grid-template-columns: 8rem auto;
  }
}
.checkout .checkout__omaggi small {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--color-border-dark);
}
.checkout .checkout__omaggi figure {
  margin: 0;
  background: var(--color-white);
  padding: 1rem;
  border-radius: 0.5rem;
}
.checkout .checkout__omaggi figcaption {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 4rem;
  gap: 1.5rem;
  flex-direction: row;
  padding-inline-end: 1rem;
}
@container (width <= 42rem) {
  .checkout .checkout__omaggi figcaption {
    padding: 0 0.5rem 0.5rem;
  }
}
.checkout .checkout__omaggi img {
  display: block;
  max-inline-size: 100%;
  aspect-ratio: 1;
}
@container (width <= 42rem) {
  .checkout .checkout__omaggi img {
    margin-inline: auto;
  }
}
.checkout .checkout__omaggi .checkout__omaggiqta {
  font-size: 2rem;
  line-height: 1.9;
  font-weight: 500;
  aspect-ratio: 1;
  border-radius: 50%;
  color: var(--color-white);
  color: var(--color-lightblue);
  transform: none;
  text-align: center;
}
.checkout .checkout__omaggi .checkout__omaggiqta::before {
  text-indent: 0.25rem;
  display: inline-block;
  font-size: 60%;
  content: "X"/"";
}
.checkout .checkout__result {
  font-size: 1.125rem;
  min-block-size: 20rem;
  margin-block: 1rem 5rem;
  border: 2px dotted var(--color-border);
  border-radius: 0.5rem;
  padding: 3rem;
  display: flex;
  margin-inline: auto;
  max-inline-size: min(64rem, 100%);
  justify-content: center;
  align-items: center;
  gap: 2.5rem 5rem;
  flex-direction: column;
  background: linear-gradient(
    to top,
    var(--color-white),
    var(--color-paleblue)
  );
}
@media (width >= 64rem) {
  .checkout .checkout__result {
    background: linear-gradient(
      to left,
      var(--color-white),
      var(--color-paleblue)
    );
    flex-direction: row;
  }
}
.checkout .checkout__result > div {
  flex: 1;
}
.checkout .checkout__result h2 {
  margin-block-start: 0;
  padding-inline: 0;
  border-bottom: 2px dotted;
}
.checkout .checkout__result svg {
  aspect-ratio: 1;
  inline-size: min(10rem, 100%);
  stroke: hsl(145, 18%, 52%);
  stroke-width: 8;
  --t: 8s;
  animation:
    bump var(--t) linear 1s forwards,
    bump4ever var(--t) linear var(--t) infinite;
}
.checkout .checkout__result svg circle {
  fill: var(--color-palegreen);
  stroke-dashoffset: 404;
  stroke-dasharray: 404;
  stroke-width: 4;
  animation: stroke 0.5s linear 0s forwards;
}
.checkout .checkout__result svg .check {
  stroke-dashoffset: 250;
  stroke-dasharray: 250;
  animation: stroke 0.5s linear 0s forwards;
}
.checkout .checkout__result svg .shine {
  stroke-dashoffset: -20;
  stroke-dasharray: 40;
  animation: shine var(--t) linear 1.5s infinite;
}
.checkout .checkout__result:is(.checkout__result--fail) svg {
  stroke: var(--color-error);
}
.checkout .checkout__result:is(.checkout__result--fail) circle {
  fill: var(--color-paleorange);
}
.checkout .checkout__result strong,
.checkout .checkout__result :any-link {
  color: var(--color-lightblue);
}
.checkout .checkout__result p {
  word-spacing: 0.15rem;
}
.checkout .cart__carttotal {
  margin: 1.5rem 0 !important;
}
.checkout .cart__carttotal dt,
.checkout .cart__carttotal dd {
  color: var(--color-lightblue);
  text-align: right;
}
@media only screen {
  .checkout .cart__carttotal dd:last-of-type {
    border-top: 2px dotted;
  }
}
.checkout main section h2 {
  margin-block-start: 0;
  padding-inline: 0;
  border-bottom: 2px dotted;
}
.checkout main section {
  border-radius: 0.5rem;
  padding: 1.5rem;
  border: 1px solid var(--color-border);
  background: linear-gradient(
    to bottom,
    var(--color-white),
    var(--color-paleblue)
  );
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.checkout main section .combina11y {
  block-size: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.checkout main section .combina11y p {
  margin-block-end: 1rem;
}
.checkout main section ::-webkit-calendar-picker-indicator {
  filter: brightness(0) saturate(100%) invert(45%) sepia(11%) saturate(1765%)
    hue-rotate(179deg) brightness(95%) contrast(89%);
}
.checkout main section #tacounter {
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.checkout main section output:has(#tacounter) {
  color: var(--color-border-dark);
}
.checkout main section textarea[name="note"] {
  resize: none;
  block-size: 10rem;
}
.checkout main section ul {
  list-style: none;
  padding-inline-start: 1rem;
}
.checkout main section ul label {
  gap: 1rem !important;
}
.checkout main section label {
  white-space: normal !important;
}
.checkout main section label::before {
  align-self: flex-start;
}
.checkout main section span {
  transform: translateY(-0.3rem);
  white-space: normal;
}
.checkout main section .greenchoice svg,
.checkout main section .greenchoice b {
  transition: 0.33s 0s color;
}
.checkout main section .greenchoice .noeco {
  opacity: 0.75;
}
.checkout main section .greenchoice:has(input:not(:checked)) svg,
.checkout main section .greenchoice:has(input:not(:checked)) b {
  color: var(--color-border-dark);
}
.checkout main section .greenchoice:has(input:checked) .noeco {
  display: none;
}
.checkout main section .greenchoice:has(input:checked) svg,
.checkout main section .greenchoice:has(input:checked) b {
  color: #49a010;
}
.checkout main section .paymentchoice svg,
.checkout main section .paymentchoice b {
  color: var(--color-border-dark);
  transition: 0.33s 0s color;
  fill: var(--color-lightblue) !important;
  stroke: none;
}
.checkout main section .paymentchoice:has(input:checked) svg,
.checkout main section .paymentchoice:has(input:checked) b {
  color: var(--color-lightblue);
}
.checkout main section :is(label, .cta) svg {
  inline-size: 3rem;
  vertical-align: top;
  margin-inline-start: 1rem;
  aspect-ratio: 1;
  fill: transparent;
  color: currentColor;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linejoin: round;
  stroke-linecap: round;
  container-type: inline-size;
}
.checkout main section :is(label, .cta) svg text {
  font: 700 7rem "Plus Jakarta Sans";
  stroke: inherit;
  stroke: none;
  stroke-width: 4px;
  fill: currentColor;
}
.checkout .checkout__insurance {
  display: flex;
  gap: 5rem;
  padding: 1.5rem 0;
  inline-size: min(100%, 2rem + 75%);
  margin-inline: auto;
}
.checkout .checkout__insurance svg {
  fill: var(--color-darkblue);
  inline-size: 100%;
  display: block;
}
.checkout .checkout__insurance svg .visa,
.checkout .checkout__insurance svg .mastercard {
  display: block;
  transform: scale(0.1);
}
@media (width < 64rem) {
  .checkout .checkout__insurance div:first-child {
    display: none;
  }
}
.checkout .checkout__insurance dl {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 0;
  margin: 0;
}
.checkout .checkout__insurance dl dt,
.checkout .checkout__insurance dl dd {
  display: flex;
  flex-wrap: wrap;
  padding-block: 0.5rem;
  margin: 0;
  align-items: center;
  color: var(--color-lightblue);
}
.checkout .checkout__insurance dl :is(dt, dd):last-of-type {
  border-top: 1px solid var(--color-lightblue);
  font-size: 1.5rem;
  font-weight: 500;
  padding-block-start: 1rem;
  margin-block-start: 1.5rem;
}
.checkout .checkout__insurance dl dd {
  display: flex;
}
.checkout .checkout__insurance dl dd output {
  display: inherit;
}
.checkout .checkout__insurance dl dd span {
  text-align: right;
  padding-inline-start: 1.5rem;
  flex: 1;
}
.checkout .checkout__insurance dl dd {
  padding-inline-start: 1.5rem;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  color: var(--color-lightblue);
}
.checkout .checkout__insurance dl small {
  font-weight: 300;
  font-size: 65%;
  flex: 1 0 100%;
}
.checkout .checkout__insurance > * {
  flex: 1 1 auto;
}
.checkout #lbl-insurance {
  position: relative;
  inline-size: 2rem;
  block-size: 2rem;
  margin-inline-start: 1.5rem;
  display: inline-block;
  border-radius: 3px;
}
.checkout #lbl-insurance input {
  opacity: 0.001;
  inline-size: 100%;
  aspect-ratio: 1;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  cursor: pointer;
  margin: 0;
}
.checkout #lbl-insurance::after {
  content: "";
  border: 1px solid var(--color-border-dark);
  inline-size: 2rem;
  aspect-ratio: 1;
  padding: 3px;
  display: block;
  border-radius: 3px;
  box-sizing: border-box;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.checkout #lbl-insurance:has(:focus) {
  outline: 2px solid;
  outline-offset: 2px;
}
.checkout #lbl-insurance:has(:checked)::after {
  /* 
  background-repeat: no-repeat;
  background-size: 80% auto;
  background-position: center;
  background-image: linear-gradient(
    var(--color-lightblue),
    var(--color-lightblue)
  );
  background-origin: padding-box;
  background-size: calc(100% - 4px) calc(100% - 4px);*/
  background-image: url(/images/checkmark.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 4px) calc(100% - 4px);
}
.checkout .checkout__pay__insurance {
  display: none;
}
.checkout .checkout__pay__noinsurance {
  display: block;
}
.checkout .checkout__insurance:has(:checked) .checkout__pay__noinsurance {
  display: none;
}
.checkout .checkout__insurance:has(:checked) .checkout__pay__insurance {
  display: block;
}

@keyframes stroke {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes shine {
  0%,
  2.51% {
    stroke-dashoffset: -40;
  }
  2.5% {
    stroke-dashoffset: 40;
  }
}
@keyframes bump {
  2.5% {
    transform: scale(1);
  }
  6.66%,
  10%,
  100% {
    transform: scale(1.33);
  }
  8.333% {
    transform: scale(1.2);
  }
}
@keyframes bump4ever {
  14.75%,
  19% {
    transform: scale(1.33);
  }
  18.25% {
    transform: scale(1.1);
  }
}
#formConfirm > form {
  transition: opacity var(--time-s) 0s;
  opacity: 1;
}
#formConfirm > form.disabled {
  pointer-events: none;
  opacity: 0.4;
}
#formConfirm [aria-disabled="true"] {
  cursor: not-allowed;
  pointer-events: none;
}
