/* Styles intended only for the front. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

input,
button,
textarea,
select {
  font: inherit;
}

pre {
  overflow-wrap: break-word;
  white-space: pre-wrap;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
li,
a {
  word-wrap: break-word;
}

p:empty {
  display: none;
  visibility: hidden;
}

small {
  font-size: var(--wp--preset--font-size--small);
}

abbr[title] {
  cursor: help;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: var(--wp--preset--color--contrast);
  text-underline-offset: 1px;
  text-decoration-thickness: 1px;
}
a:hover {
  color: var(--wp--preset--color--primary);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

[id] {
  scroll-margin-top: 100px;
}

* {
  text-rendering: optimizelegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  scrollbar-color: var(--wp--preset--color--primary) hsl(0, 0%, 80%);
  scrollbar-width: thin;
}
*::-webkit-scrollbar {
  width: 3px;
}
*::-webkit-scrollbar-thumb {
  background: var(--wp--preset--color--primary);
}
*::-webkit-scrollbar-track {
  background: hsl(0, 0%, 80%);
}
*::-moz-selection {
  background-color: #fff;
  color: #000;
}
*::selection {
  background-color: #fff;
  color: #000;
}
*:focus, *:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 3px;
}

table:not(.variations) {
  border-collapse: collapse;
  inline-size: 100%;
}
table:not(.variations) td,
table:not(.variations) th {
  border: 2px solid var(--wp--preset--color--contrast);
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
  text-align: left;
}
table:not(.variations) th {
  font-weight: 700;
}
table:not(.variations) tr:nth-child(odd) {
  background-color: hsla(0, 0%, 0%, 0.16);
}

@media only screen and (max-width: 900px) {
  table {
    width: 100% !important;
  }
  tr {
    display: flex;
    flex-direction: column;
  }
}
:root :where(.wp-block-post-content) {
  margin: 0 !important;
}

.hero-video {
  height: clamp(720px, 88vh, 950px);
}

.slider-tattoo .card-tattoo,
.slider-tattoo .card-tattoo h3,
.slider-tattoo .card-tattoo p,
.grid-tattoo .card-tattoo,
.grid-tattoo .card-tattoo h3,
.grid-tattoo .card-tattoo p {
  text-decoration: none !important;
}
.slider-tattoo .card-tattoo,
.grid-tattoo .card-tattoo {
  height: 100%;
}
.slider-tattoo .card-tattoo:hover p,
.grid-tattoo .card-tattoo:hover p {
  color: #fff;
}
.slider-tattoo .card-tattoo__row,
.grid-tattoo .card-tattoo__row {
  flex-wrap: nowrap !important;
}
.slider-tattoo .card-tattoo__img img,
.grid-tattoo .card-tattoo__img img {
  display: block;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .slider-tattoo .card-tattoo__row,
  .grid-tattoo .card-tattoo__row {
    flex-direction: column !important;
  }
  .slider-tattoo .card-tattoo__img,
  .grid-tattoo .card-tattoo__img {
    width: 100% !important;
    flex-basis: auto !important;
  }
  .slider-tattoo .card-tattoo__img img,
  .grid-tattoo .card-tattoo__img img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 20/9;
  }
  .slider-tattoo h3.has-l-font-size,
  .grid-tattoo h3.has-l-font-size {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 1400px) {
  .servizi {
    padding-left: var(--wp--preset--spacing--40);
    padding-right: var(--wp--preset--spacing--40);
  }
  .servizi .is-layout-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 410px), 1fr));
  }
  .servizi .is-layout-grid > .wp-block-heading {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .servizi h3 {
    font-size: clamp(1.5rem, 2.4vw, 2rem);
  }
}
@media (max-width: 640px) {
  .servizi {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
    background-size: 480px 480px !important;
  }
  .servizi .is-layout-grid > .wp-block-group {
    border-radius: 36px !important;
    padding: var(--wp--preset--spacing--30) !important;
  }
}