@charset "UTF-8";
:root {
  --width-boxed: 1140px;
  --container-width: clamp(0px, 100dvw, var(--width-boxed));
  --clip-unit-x: calc((100dvw - var(--container-width)) / 2);
  --clip-unit-y: 100px;
  --clip-point-x1: 0;
  --clip-point-y1: 0;
  --clip-point-x2: 0;
  --clip-point-y2: calc(100% - (var(--clip-unit-y) - 40px));
  --clip-point-x3: calc(var(--clip-unit-x) + 0px);
  --clip-point-y3: calc(100% - (var(--clip-unit-y) - 40px));
  --clip-point-x4: calc(var(--clip-unit-x) + 100px);
  --clip-point-y4: 100%;
  --clip-point-x5: calc(var(--clip-unit-x) + 264px);
  --clip-point-y5: calc(100% - (var(--clip-unit-y) - 0px));
  --clip-point-x6: 100%;
  --clip-point-y6: calc(100% - (var(--clip-unit-y) - 0px));
  --clip-point-x7: 100%;
  --clip-point-y7: 0;
  /* Clip nel top aggiuntivo per avere effetto striscia*/
  --clip-point-x8: calc(var(--clip-unit-x) + 264px);
  --clip-point-y8: 0;
  --clip-point-x9: calc(var(--clip-unit-x) + 100px);
  --clip-point-y9: calc(var(--clip-unit-y) - 0px);
  --clip-point-x10: calc(var(--clip-unit-x) + 0px);
  --clip-point-y10: calc(100% - (var(--clip-unit-y) - 30px));
  --clip-point-y1b: calc(100% - (var(--clip-unit-y) - 30px));
  /* clip invertito */
  --clip-point-x1-m: 100%;
  /* ordine specchiato */
  --clip-point-x2-m: 0;
  --clip-point-x3-m: 0;
  --clip-point-x4-m: calc(100% - var(--clip-unit-x) - 264px);
  --clip-point-x5-m: calc(100% - var(--clip-unit-x) - 100px);
  --clip-point-x6-m: calc(100% - var(--clip-unit-x) - 0px);
  --clip-point-x7-m: 100%;
  --clip-point-y1-m: var(--clip-point-y1);
  --clip-point-y2-m: var(--clip-point-y7);
  --clip-point-y3-m: var(--clip-point-y6);
  --clip-point-y4-m: var(--clip-point-y5);
  --clip-point-y5-m: var(--clip-point-y4);
  --clip-point-y6-m: var(--clip-point-y3);
  --clip-point-y7-m: var(--clip-point-y2);
  /* TOP BAR */
  --top-main-bar: 80px;
  --top-main-bar-clipped-height: calc(var(--clip-unit-y) + var(--top-main-bar));
  --top-main-bar-clipped-border: 1px;
  /* FOOTER */
  --top-footer: 80px;
  --top-footer-clipped-height: calc(var(--clip-unit-y) + var(--top-footer));
  --top-footer-clipped-border: 10px;
  /* PAGE HEADER */
  --page-header-min-height: 280px;
  --page-header-height: 600px;
  --page-header-height-border:5px;
  --page-header-position: center;
}
@media (max-width: 980px) {
  :root {
    --page-header-height: 400px;
  }
}
@media (max-width: 767px) {
  :root {
    --page-header-height: 50dvh;
    --page-header-min-height: 50dvh;
  }
}

:root.ars-scroll {
  --top-main-bar-clipped-border: 5px;
}

body {
  padding-top: var(--top-main-bar);
}

/* Standard Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.1;
  -webkit-font-smoothing: antialiased;
}

h1 {
  font-size: 2.5rem; /* 45px */
}

h2 {
  font-size: 2rem; /* 35px */
  margin-bottom: 15px;
}

h3 {
  font-size: 1.944rem; /* 30px */
}

h4 {
  font-size: 1.389rem; /* 25px */
}

h5 {
  font-size: 1.222rem; /* 22px */
}

h6 {
  font-size: 1rem; /* 18px */
}

.single-post h1 {
  font-size: 48px;
}

@media (max-width: 991px) {
  h1:not(.product_title) {
    font-size: 2.333rem; /* 42px */
  }
  .single-post h1 {
    font-size: 2.111rem; /* 38px */
  }
}
@media (max-width: 767px) {
  h1:not(.product_title) {
    font-size: 2.111rem; /* 38px */
  }
  .single-post h1 {
    font-size: 1.944rem; /* 35px */
  }
}
@media (max-width: 479px) {
  h1 {
    font-size: 1.944rem; /* 35px */
  }
  h2 {
    font-size: 1.667rem; /* 30px */
  }
  h3 {
    font-size: 1.5rem; /* 27px */
  }
  h4 {
    font-size: 1.278rem; /* 23px */
  }
  h5 {
    font-size: 1.111rem; /* 20px */
  }
  h6 {
    font-size: 0.944rem; /* 17px */
  }
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
h1 a:focus, h2 a:focus, h3 a:focus, h4 a:focus, h5 a:focus, h6 a:focus {
  text-decoration: none;
}

code {
  white-space: normal;
}

.container-clipped {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}

.container-inv-clipped {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1-m) var(--clip-point-y1-m), var(--clip-point-x2-m) var(--clip-point-y2-m), var(--clip-point-x3-m) var(--clip-point-y3-m), var(--clip-point-x4-m) var(--clip-point-y4-m), var(--clip-point-x5-m) var(--clip-point-y5-m), var(--clip-point-x6-m) var(--clip-point-y6-m), var(--clip-point-x7-m) var(--clip-point-y7-m));
}

.home-row-clipped {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}

.home-image-clipped {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 100px);
  padding: 0 !important;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}
.home-image-clipped-in {
  position: relative;
  width: 100%;
  height: calc(100% - 5px);
  padding: 0 !important;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}
.home-image-clipped-inv {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1-m) var(--clip-point-y1-m), var(--clip-point-x2-m) var(--clip-point-y2-m), var(--clip-point-x3-m) var(--clip-point-y3-m), var(--clip-point-x4-m) var(--clip-point-y4-m), var(--clip-point-x5-m) var(--clip-point-y5-m), var(--clip-point-x6-m) var(--clip-point-y6-m), var(--clip-point-x7-m) var(--clip-point-y7-m));
}
.home-image-clipped-inv-in {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1-m) var(--clip-point-y1-m), var(--clip-point-x2-m) var(--clip-point-y2-m), var(--clip-point-x3-m) var(--clip-point-y3-m), var(--clip-point-x4-m) var(--clip-point-y4-m), var(--clip-point-x5-m) var(--clip-point-y5-m), var(--clip-point-x6-m) var(--clip-point-y6-m), var(--clip-point-x7-m) var(--clip-point-y7-m));
}

/*
 * Title and Icon
 */
:root {
  --title-ico-size:120px;
  --title-ico-max-size:120px;
  --title-ico-space:4px;
}

.title-with-ico {
  position: relative;
  flex: none !important;
  width: var(--title-ico-size);
  height: var(--title-ico-size);
  aspect-ratio: 1/1;
  max-width: var(--title-ico-max-size);
  max-height: var(--title-ico-max-size);
  padding: 0;
  background-color: #FFF;
  border: 1px solid #0E8BBF;
  border-radius: 50% 50% 0 50%;
  overflow: hidden;
}
.title-with-ico .ico-in {
  --in-ico-size: calc(var(--title-ico-size) - calc(var(--title-ico-space) * 2));
  display: block;
  flex: none !important;
  width: var(--in-ico-size);
  height: var(--in-ico-size);
  min-width: var(--in-ico-size);
  min-height: var(--in-ico-size);
  padding: 0;
  margin: 0;
  margin-top: var(--title-ico-space);
  margin-left: var(--title-ico-space);
  background-color: #0E8BBF;
  border: 0px solid #FFF;
  color: #fff !important;
  border-radius: 50% 50% 0 50%;
  overflow: hidden;
}
.title-with-ico .ico-in .ico-min {
  position: absolute;
  top: 16%;
  left: 18%;
  z-index: 2;
  width: 24%;
  height: 24%;
}
.title-with-ico .ico-in .ico-min svg {
  width: 100%;
  height: 100%;
  color: #fff;
  opacity: 0.7;
}
.title-with-ico .ico-in .ico-main {
  position: absolute;
  bottom: 10%;
  right: 10%;
  z-index: 1;
  width: 65%;
  height: 65%;
}
.title-with-ico .ico-in .ico-main svg {
  width: 100%;
  height: 100%;
  color: #fff;
}

/* HOME ROWS */
.metro-art-button {
  font-size: 1.4rem;
}
.metro-art-button-alt {
  height: 0;
  overflow: visible;
}
.metro-art-button .payoff {
  display: none;
  font-size: 1.5em;
  font-weight: 700;
  color: #F1BA1A !important;
}
.metro-art-button .payoff span {
  display: block;
  font-size: 0.8em;
  font-weight: 500;
  color: #ffffff;
}
.metro-art-button .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center;
  line-height: 1.5;
  width: 150px;
  height: 150px;
  border-radius: 0px 50% 0px 50%;
  border: 5px solid #fff;
  background-color: #373688;
  text-decoration: none;
  font-size: 1em;
  font-weight: bold;
  color: #F1BA1A !important;
}
.metro-art-button .logo .elementor-widget-container {
  justify-content: center;
  align-content: center;
  align-items: center;
}
.metro-art-button .logo span {
  display: block;
  font-size: 0.8em;
  color: #fff;
}

.home-row {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  gap: 0;
  background-color: #ffffff;
}
.home-row:nth-child(1) {
  z-index: 100;
  margin-top: 0;
}
.home-row:nth-child(2) {
  z-index: 99;
  margin-top: -20px;
}
.home-row:nth-child(3) {
  z-index: 98;
  margin-top: -20px;
}
.home-row:nth-child(4) {
  z-index: 97;
  margin-top: -20px;
}
.home-row:nth-child(5) {
  z-index: 96;
  margin-top: -20px;
}
.home-row:nth-child(6) {
  z-index: 95;
  margin-top: -20px;
}
.home-row:nth-child(7) {
  z-index: 94;
  margin-top: -20px;
}
.home-row:nth-child(8) {
  z-index: 93;
  margin-top: -20px;
}
.home-row:nth-child(9) {
  z-index: 92;
  margin-top: -20px;
}
.home-row:nth-child(10) {
  z-index: 91;
  margin-top: -20px;
}
.home-row:nth-child(11) {
  z-index: 90;
  margin-top: -20px;
}
.home-row:nth-child(12) {
  z-index: 89;
  margin-top: -20px;
}
.home-row:nth-child(13) {
  z-index: 88;
  margin-top: -20px;
}
.home-row:nth-child(14) {
  z-index: 87;
  margin-top: -20px;
}
.home-row:nth-child(15) {
  z-index: 86;
  margin-top: -20px;
}
.home-row:nth-child(16) {
  z-index: 85;
  margin-top: -20px;
}
.home-row:nth-child(17) {
  z-index: 84;
  margin-top: -20px;
}
.home-row:nth-child(18) {
  z-index: 83;
  margin-top: -20px;
}
.home-row:nth-child(19) {
  z-index: 82;
  margin-top: -20px;
}
.home-row:nth-child(20) {
  z-index: 81;
  margin-top: -20px;
}
.home-row:nth-child(21) {
  z-index: 80;
  margin-top: -20px;
}
.home-row:nth-child(22) {
  z-index: 79;
  margin-top: -20px;
}
.home-row:nth-child(23) {
  z-index: 78;
  margin-top: -20px;
}
.home-row:nth-child(24) {
  z-index: 77;
  margin-top: -20px;
}
.home-row:nth-child(25) {
  z-index: 76;
  margin-top: -20px;
}
.home-row:nth-child(26) {
  z-index: 75;
  margin-top: -20px;
}
.home-row:nth-child(27) {
  z-index: 74;
  margin-top: -20px;
}
.home-row:nth-child(28) {
  z-index: 73;
  margin-top: -20px;
}
.home-row:nth-child(29) {
  z-index: 72;
  margin-top: -20px;
}
.home-row:nth-child(30) {
  z-index: 71;
  margin-top: -20px;
}
.home-row:nth-child(31) {
  z-index: 70;
  margin-top: -20px;
}
.home-row:nth-child(32) {
  z-index: 69;
  margin-top: -20px;
}
.home-row:nth-child(33) {
  z-index: 68;
  margin-top: -20px;
}
.home-row:nth-child(34) {
  z-index: 67;
  margin-top: -20px;
}
.home-row:nth-child(35) {
  z-index: 66;
  margin-top: -20px;
}
.home-row:nth-child(36) {
  z-index: 65;
  margin-top: -20px;
}
.home-row:nth-child(37) {
  z-index: 64;
  margin-top: -20px;
}
.home-row:nth-child(38) {
  z-index: 63;
  margin-top: -20px;
}
.home-row:nth-child(39) {
  z-index: 62;
  margin-top: -20px;
}
.home-row:nth-child(40) {
  z-index: 61;
  margin-top: -20px;
}
.home-row:nth-child(41) {
  z-index: 60;
  margin-top: -20px;
}
.home-row:nth-child(42) {
  z-index: 59;
  margin-top: -20px;
}
.home-row:nth-child(43) {
  z-index: 58;
  margin-top: -20px;
}
.home-row:nth-child(44) {
  z-index: 57;
  margin-top: -20px;
}
.home-row:nth-child(45) {
  z-index: 56;
  margin-top: -20px;
}
.home-row:nth-child(46) {
  z-index: 55;
  margin-top: -20px;
}
.home-row:nth-child(47) {
  z-index: 54;
  margin-top: -20px;
}
.home-row:nth-child(48) {
  z-index: 53;
  margin-top: -20px;
}
.home-row:nth-child(49) {
  z-index: 52;
  margin-top: -20px;
}
.home-row:nth-child(50) {
  z-index: 51;
  margin-top: -20px;
}
.home-row .content,
.home-row .image {
  min-height: 500px;
  background-color: inherit;
  justify-content: center;
  align-items: start;
}
.home-row .content {
  flex: 0 0 50%;
  padding: 5rem;
  padding-top: 8rem;
}
.home-row .content .title-ico .elementor-widget-heading h1, .home-row .content .title-ico .elementor-widget-heading h2, .home-row .content .title-ico .elementor-widget-heading h3, .home-row .content .title-ico .elementor-widget-heading h4 {
  font-size: 26px;
  margin: 0;
  padding: 0;
}
.home-row .content .title-ico .elementor-widget-heading p,
.home-row .content .title-ico .elementor-widget-heading span {
  font-size: 22px;
  margin-block-end: 8px;
}
.home-row .image {
  flex: 1 1 100%;
}
.home-row .clip-out,
.home-row .clip-in {
  height: calc(100% + 100px);
  width: 100%;
  padding: 0 !important;
}
.home-row .clip-out {
  position: absolute;
  top: 0;
  left: 0;
  background-color: inherit;
}
.home-row .clip-in {
  position: relative;
}
.home-row-bordered .clip-in {
  height: calc(100% - 5px);
}

.home-wrapper > .home-row:nth-child(odd of .home-row).e-flex {
  flex-direction: row;
}
.home-wrapper > .home-row:nth-child(odd of .home-row) .clip-out,
.home-wrapper > .home-row:nth-child(odd of .home-row) .clip-in {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1-m) var(--clip-point-y1-m), var(--clip-point-x2-m) var(--clip-point-y2-m), var(--clip-point-x3-m) var(--clip-point-y3-m), var(--clip-point-x4-m) var(--clip-point-y4-m), var(--clip-point-x5-m) var(--clip-point-y5-m), var(--clip-point-x6-m) var(--clip-point-y6-m), var(--clip-point-x7-m) var(--clip-point-y7-m));
}
.home-wrapper > .home-row:nth-child(even of .home-row).e-flex {
  flex-direction: row-reverse;
}
.home-wrapper > .home-row:nth-child(even of .home-row) .clip-out,
.home-wrapper > .home-row:nth-child(even of .home-row) .clip-in {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}

@media (max-width: 1024px) {
  .metro-art-button {
    height: auto;
    background-color: #373688;
    padding: 7rem 0;
  }
  .metro-art-button .payoff {
    display: block;
  }
  .home-wrapper > .home-row .content,
  .home-wrapper > .home-row .image {
    width: 100%;
    flex: 1 1 100%;
  }
  .home-wrapper > .home-row .content {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .home-wrapper > .home-row:nth-child(odd of .home-row).e-flex, .home-wrapper > .home-row:nth-child(even of .home-row).e-flex {
    flex-direction: column-reverse;
  }
  .home-wrapper > .home-row:nth-child(odd of .home-row) .clip-out,
  .home-wrapper > .home-row:nth-child(odd of .home-row) .clip-in, .home-wrapper > .home-row:nth-child(even of .home-row) .clip-out,
  .home-wrapper > .home-row:nth-child(even of .home-row) .clip-in {
    padding: 0 !important;
    clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
  }
  .home-row-OFF.e-flex {
    flex-direction: column-reverse;
  }
  .home-row-OFF .content,
  .home-row-OFF .image {
    width: 100dvw;
  }
  .home-row-OFF .clip-out,
  .home-row-OFF .clip-in {
    padding: 0 !important;
    clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
  }
  .home-row-OFF-inverted.e-flex {
    flex-direction: column-reverse;
  }
  .home-row-OFF-inverted .clip-out,
  .home-row-OFF-inverted .clip-in {
    padding: 0 !important;
    clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
  }
  .home-row-OFF-no-inverted.e-flex {
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .home-row-OFF .content {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
.top-main-bar {
  height: var(--top-main-bar);
  overflow: visible;
}
.top-main-bar-clipped {
  height: var(--top-main-bar-clipped-height);
  overflow: hidden;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}
.top-main-bar-clipped-border {
  height: calc(var(--top-main-bar-clipped-height) + var(--top-main-bar-clipped-border));
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
  background-color: #1AB5F1;
  opacity: 0.8;
  transition: height 0.6s ease-in-out;
}

body:has(#wpadminbar) .top-main-bar,
body:has(#wpadminbar) .top-main-bar-clipped,
body:has(#wpadminbar) .top-main-bar-border {
  top: 32px;
}

.ars-header {
  position: relative;
  padding: 0;
  margin: 0 0 1.2rem 0;
}
.ars-header .image-background,
.ars-header .image-background-border {
  height: var(--page-header-height);
  min-height: var(--page-header-min-height);
  overflow: hidden;
  background-color: #D3D3D3;
  z-index: 2;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}
@media (max-width: 767px) {
  .ars-header .image-background,
  .ars-header .image-background-border {
    min-height: auto;
  }
}
.ars-header .image-background-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--page-header-height) + var(--page-header-height-border));
  opacity: 0.8;
  z-index: 1;
}
.ars-header .image-background {
  position: relative;
}
.ars-header .image-background .elementor-widget-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.ars-header .image-background img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--page-header-image-position) !important;
     object-position: var(--page-header-image-position) !important;
}
.ars-header .ars-page-title {
  padding: 0;
  padding-left: 80px;
  margin: 1.2rem 0 0 0;
}
@media (max-width: 1024px) {
  .ars-header .ars-page-title {
    padding-left: 0;
  }
}
.ars-header .ars-page-title h1 {
  margin: 0;
}
/**
 * Tours Itinerary
 */
.tourmaster-tour-booking-bar-widget {
  padding: 40px 34px;
  background-color: #fff;
}

.ars-itinerary .heading {
  margin: 2rem 0;
}
.ars-itinerary .th-itin-single {
  position: relative;
}
.ars-itinerary .th-itin-single .th-itin-icon {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  margin: 0;
  padding: 0;
  color: var(--e-global-color-primary);
}
.ars-itinerary .th-itin-single .th-itin-title {
  font-weight: 700;
  font-size: 1.1rem;
  margin-left: 30px;
}
.ars-itinerary .th-itin-single .th-itin-subtitle {
  font-weight: normal;
  font-size: 0.95rem;
  margin-left: 30px;
}
.ars-itinerary .th-itin-single .th-itin-content {
  position: relative;
  font-size: 1rem;
  margin: 20px 0 20px 11px;
  padding-left: 16px;
  border-left: 2px solid #ccc;
}

.ars-th-icons-ticket-alert {
  padding: 2rem;
  background-color: rgba(192, 57, 43, 0.4588235294);
  font-weight: 500;
}

.ars-th-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  background-color: transparent;
}
.ars-th-icons .th-tour-icon {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: start;
}
.ars-th-icons .th-tour-icon svg {
  width: 24px !important;
  height: 24px !important;
}
.ars-th-icons .th-tour-icon svg path {
  fill: var(--e-global-color-primary);
}
.ars-th-icons .ico i {
  font-size: 32px;
  color: var(--e-global-color-primary);
}
.ars-th-icons .ico i.icon-alert {
  color: orangered;
}
.ars-th-icons .ico i.disabled {
  color: red;
}
.ars-th-icons .ico i.extra {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  color: red;
  opacity: 0.3;
}
.ars-th-icons .ico:has(.disabled) {
  position: relative;
}
.ars-th-icons .ico:has(.disabled) i.extra {
  display: none;
}
.ars-th-icons .th-icon-label {
  font-size: 0.8rem;
  font-weight: 700;
  margin-left: 0.5rem;
}
.ars-th-icons .th-icon-label span {
  display: block;
}
.ars-th-icons .th-icon-label span.sub {
  font-weight: normal;
  font-size: 0.8rem;
}

.ars-footer {
  position: relative;
  padding: 0;
  margin: 0;
  background-color: #000;
  color: #fff;
}
.ars-footer * {
  color: #fff;
}
.ars-footer a {
  color: #fff;
}
.ars-footer a:hover {
  color: #1AB5F1;
}
@media (max-height: 729px) {
  .ars-footer .logo-footer {
    display: none;
  }
}
.ars-footer .footer-widgets {
  padding: 0 2rem 2rem 3rem;
  font-size: 16px;
}
.ars-footer .footer-widgets [class*=footer-area-] {
  padding-top: calc(var(--top-footer) + var(--top-footer-clipped-border));
}
.ars-footer .footer-widgets .widget-title,
.ars-footer .footer-widgets .wp-block-heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2em;
  color: #fff;
}
.ars-footer .footer-widgets ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ars-footer .footer-widgets .footer-area-1 {
  padding-top: calc(var(--top-footer) * 2.9);
}
@media (min-width: 767px) and (max-width: 1024px) {
  .ars-footer .footer-widgets [class*=footer-area-] {
    width: 100% !important;
  }
  .ars-footer .footer-widgets .footer-area-1 {
    width: 100% !important;
  }
}
.ars-footer .footer-widgets .icon-block svg {
  margin-right: 0.5rem;
}
.ars-footer .footer-widgets .soc-widget a {
  margin: 0 0.25rem;
  font-size: 2rem;
}
.ars-footer .top-footer {
  height: var(--top-footer);
  overflow: visible;
}
.ars-footer .top-footer-clipped {
  height: var(--top-footer-clipped-height);
  overflow: hidden;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}
.ars-footer .top-footer-clipped-border {
  height: calc(var(--top-footer-clipped-height) + var(--top-footer-clipped-border));
  background-color: #D3D3D3;
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}

.ars-footer-copy {
  background-color: #1AB5F1;
  color: #000;
  border-top: 5px solid #D3D3D3;
  font-size: 14px;
}
.ars-footer-copy p {
  margin: 0;
}

:root {
  --arsenale-sidebar-width: 370px;
}
@media only screen and (max-width: 767px) {
  :root {
    --arsenale-sidebar-width: 100%;
  }
}

.arsenale-tour-subtitle {
  margin-bottom: 40px;
}
.arsenale-tour-subtitle strong {
  color: var(--e-global-color-accent);
}

.arsenale-tour-single {
  /*margin-top: -35px;*/
}

.arsenale-tour-archive-OFF .tourmaster-sidebar-center {
  width: 68%;
}
.arsenale-tour-archive-OFF .tourmaster-sidebar-right {
  width: 32%;
}
.arsenale-tour-archive-OFF .tourmaster-content-right {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}
.arsenale-tour-archive-OFF .tourmaster-content-right .tourmaster-tour-view-more {
  flex: 0 0 100%;
  text-align: left;
}

.tourmaster-template-wrapper {
  margin-top: 70px;
}
.tourmaster-template-wrapper.tourmaster-search-style-1 {
  margin-top: 50px;
}

.tourmaster-single-header,
.tourmaster-payment-head {
  min-height: var(--page-header-min-height);
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
}

body {
  /*
  * PAYMENT PAGE
  */
  /*
  * SINGLE TOUR: Custom layout
  */
}
body.tourmaster-template-payment .tourmaster-payment-head {
  padding: 0 !important;
  clip-path: polygon(var(--clip-point-x1) var(--clip-point-y1), var(--clip-point-x2) var(--clip-point-y2), var(--clip-point-x3) var(--clip-point-y3), var(--clip-point-x4) var(--clip-point-y4), var(--clip-point-x5) var(--clip-point-y5), var(--clip-point-x6) var(--clip-point-y6), var(--clip-point-x7) var(--clip-point-y7));
  min-height: 300px;
}
body.tourmaster-template-payment .tourmaster-payment-step-item {
  padding: 0px 25px;
  border: 0px solid #ccc;
  margin: 10px 0;
}
body.tourmaster-template-payment .tourmaster-payment-step-item::after {
  background-image: none !important;
  display: none;
}
body.tourmaster-template-payment .tourmaster-payment-step-item.tourmaster-checked .tourmaster-payment-step-item-icon,
body.tourmaster-template-payment .tourmaster-payment-step-item.tourmaster-enable .tourmaster-payment-step-item-icon {
  background-color: #0e8bbf;
  color: #fff;
}
body.tourmaster-template-payment a.tourmaster-button,
body.tourmaster-template-payment a.tourmaster-tour-booking-bar-coupon-validate {
  background-color: #0e8bbf;
  color: #fff;
}
body.tourmaster-template-payment a.tourmaster-button:hover,
body.tourmaster-template-payment a.tourmaster-tour-booking-bar-coupon-validate:hover {
  opacity: 0.8;
  color: #fff;
}
body.tourmaster-template-payment a.tourmaster-tour-booking-bar-coupon-validate {
  padding: 15px;
  font-size: 12.5px;
  text-transform: uppercase;
  font-weight: 600;
}
body.tourmaster-template-payment .tourmaster-tour-booking-bar-wrap {
  margin-top: 0px !important;
}
body.tourmaster-template-payment .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-bar-summary {
  padding-top: 0px;
}
body.tourmaster-template-payment .tourmaster-tour-booking-bar-wrap .tourmaster-tour-booking-bar-summary-people {
  display: flex;
  flex-direction: column;
  justify-content: start;
}
body.single-tour .tourmaster-template-wrapper {
  margin-top: -100px;
}
body.single-tour .tourmaster-template-wrapper.tourmaster-search-style-1 {
  margin-top: 50px;
}
body.single-tour .arsenale-tour-info-container {
  width: calc(100% - var(--arsenale-sidebar-width));
}
@media (max-width: 767px) {
  body.single-tour .arsenale-tour-info-container {
    width: 100%;
  }
}
body.single-tour .tourmaster-single-related-tour-title {
  padding-left: 0px;
  padding-right: 0px;
}
body.single-tour .arsenale-single-related-tour-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.single-tour .arsenale-content {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}
body.single-tour .arsenale-content-container {
  flex: 1;
}
body.single-tour .arsenale-content-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.single-tour .arsenale-sidebar-container {
  width: var(--arsenale-sidebar-width);
  margin-top: -100px;
  background-color: #fff;
}
body.single-tour .tourmaster-tour-booking-bar-wrap {
  position: relative;
}
body.tourmaster-template-archive .tourmaster-content-left {
  width: 100%;
}
body.tourmaster-template-archive .tourmaster-content-right {
  display: flex;
  justify-content: start;
  align-items: start;
  gap: 10px;
  flex-wrap: wrap;
}
body.tourmaster-template-archive .tourmaster-content-right .tourmaster-tour-view-more {
  flex: 0 0 100%;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  body.tourmaster-template-archive .tourmaster-sidebar-center {
    width: 68%;
  }
  body.tourmaster-template-archive .tourmaster-sidebar-right {
    width: 32%;
  }
}

.single-tour .tourmaster-with-sidebar .tourmaster-tour-info-outer .tourmaster-tour-info-wrap,
.single-tour .tourmaster-with-sidebar .tourmaster-single-main-content,
.single-tour .tourmaster-with-sidebar .tourmaster-single-review {
  padding-right: 0px;
}

.single-tour .tourmaster-tour-info-outer {
  padding-top: 120px;
}

.tourmaster-tour-item-holder .tourmaster-item-list,
.arsenale-tourmaster-page-content .tourmaster-item-list {
  margin: 0 0 40px 0;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner {
  display: flex;
  justify-content: start;
  align-items: start;
  table-layout: unset;
  gap: 20px;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-thumbnail,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-thumbnail {
  flex: 0 0 auto;
  width: auto;
  aspect-ratio: 1/1;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap {
  flex: 1 1 100%;
  flex-direction: column;
  width: 100%;
  padding: 0px;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-left,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-left {
  display: flex;
  flex-direction: column;
  gap: 0px;
  float: none !important;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-left .tourmaster-tour-title,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-left .tourmaster-tour-title {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.25;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-right,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-right {
  float: none !important;
  padding: 20px 0px 10px 0px !important;
  border: none;
  border-bottom: 1px solid #E5E5E5;
}
.tourmaster-tour-item-holder .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-right .tourmaster-tour-view-more,
.arsenale-tourmaster-page-content .tourmaster-tour-medium-inner .tourmaster-tour-content-wrap .tourmaster-content-right .tourmaster-tour-view-more {
  display: inline-block;
  padding: 0px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-transform: none;
  background: none;
  border: none;
  color: var(--e-global-color-accent);
  text-decoration: none;
}

#tourmaster-single-tour-booking-fields.is-loading {
  position: relative;
  pointer-events: none;
}
#tourmaster-single-tour-booking-fields.is-loading::after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 99999999;
}

/*--- mobile landscape style ---*/
@media only screen and (max-width: 767px) {
  .tourmaster-body .tourmaster-container, .single-tour.tourmaster-body .tourmaster-single-related-tour-container {
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .tourmaster-single-header .tourmaster-header-price, .tourmaster-tour-booking-bar-outer, .tourmaster-tour-booking-bar-anchor, .tourmaster-tour-booking-bar-wrap {
    width: 100%;
  }
}
/*
PROJECT GRID
*/
:root {
  --category-term-grid-size: 100px;
}

.category-term-grid {
  /*--category-term-grid-col: 1;*/
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* larghezza flessibile */
  /*grid-template-columns: repeat(var(--category-term-grid-col), 1fr);*/
  grid-auto-rows: var(--category-term-grid-size);
  gap: 1.5rem;
  /*&.col-2{
    --category-term-grid-col: 2;
  }

  &.col-3{
    --category-term-grid-col: 3;
  }

  &.col-4{
    --category-term-grid-col: 4;
  }

  &.col-5{
    --category-term-grid-col: 5;
  }

  &.col-6{
    --category-term-grid-col: 6;
  }*/
  /* Ogni elemento della griglia */
}
.category-term-grid .category-grid-item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: var(--category-term-grid-size);
  width: auto;
  /* --- TESTO SOTTO L’IMMAGINE --- */
}
.category-term-grid .category-grid-item .card {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: end;
  text-decoration: none;
  color: inherit;
  height: var(--category-term-grid-size);
  box-sizing: border-box;
  padding-left: 15px;
  padding-bottom: 15px;
  overflow: visible;
  /* --- BOX IMMAGINE --- */
}
.category-term-grid .category-grid-item .card .thumb {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: var(--category-term-grid-size);
  width: var(--category-term-grid-size);
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
  background: #f3f4f6;
  text-decoration: none;
}
.category-term-grid .category-grid-item .card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* immagine riempie il quadrato */
  display: block;
}
.category-term-grid .category-grid-item .card .title {
  text-decoration: none;
  flex-shrink: 0;
  flex-grow: 0;
  z-index: 1;
  font-size: 1rem;
  text-wrap: nowrap;
  padding: 5px 20px;
  margin: 0;
  background: #fff;
  border-radius: 50px;
  border: 1px solid #212121;
  color: #212121;
}
.category-term-grid .category-grid-item .card:hover .title {
  background-color: #1AB5F1;
  color: #fff;
}

.category-grid-item {
  position: relative;
  flex: 0 1 auto;
  flex-direction: column;
  height: var(--category-term-grid-size);
  /* --- TESTO SOTTO L’IMMAGINE --- */
}
.category-grid-item .card {
  position: relative;
  display: flex;
  justify-content: start;
  align-items: end;
  text-decoration: none;
  color: inherit;
  height: var(--category-term-grid-size);
  box-sizing: border-box;
  padding-left: 15px;
  padding-bottom: 15px;
  /* --- BOX IMMAGINE --- */
}
.category-grid-item .card .thumb {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: var(--category-term-grid-size);
  width: var(--category-term-grid-size);
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 50%;
  background: #f3f4f6;
  text-decoration: none;
}
.category-grid-item .card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* immagine riempie il quadrato */
  display: block;
}
.category-grid-item .card .title {
  text-decoration: none;
  flex-shrink: 0;
  flex-grow: 0;
  z-index: 1;
  font-size: 1rem;
  text-wrap: nowrap;
  padding: 5px 20px;
  margin: 0;
  background: #fff;
  border-radius: 50px;
  border: 1px solid #212121;
  color: #212121;
}
.category-grid-item .card:hover .title {
  background-color: #1AB5F1;
  color: #fff;
}

/* --- RESPONSIVITÀ --- */
@media (max-width: 767px) {
  /*.category-term-grid {
    &.col-2,
    &.col-3,
    &.col-4,
    &.col-5,
    &.col-6 {
      --category-term-grid-col: 1;
    }

  }*/
}
/*
 * BUTTON GRID SHORTCODE
 * Struttura HTML:
 *   .button-grid.col-N
 *     article.button-item
 *       a[aria-label]  → wrapper cliccabile unico
 *         img | .no-image  → immagine circolare, ancorata in basso a sinistra
 *         span.title  → pill sovrapposto all'immagine, 15px dal basso e da sinistra
 *
 * L'item si dimensiona alla larghezza del titolo.
 * I col-N non allargano gli item: wrappano quando finisce lo spazio.
 */
:root {
  --button-grid-item-size: 80px;
  --button-grid-gap: 0.75rem;
  --button-grid-thumb-radius: 50% 50% 0 50%;
}

.button-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--button-grid-gap);
  align-items: flex-end;
}
.button-grid .button-item {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex: 0 0 auto;
  height: var(--button-grid-item-size);
  padding-left: 20px;
  padding-bottom: 15px;
  box-sizing: border-box;
}
.button-grid .button-item > a {
  display: flex;
  max-width: 320px;
  gap: 10px;
  align-items: flex-end;
  justify-content: flex-start;
  text-decoration: none;
}
.button-grid .button-item > a .thumb {
  flex: 0 0 auto;
  position: relative;
  display: block;
  width: var(--button-grid-item-size);
  height: var(--button-grid-item-size);
  overflow: hidden;
  background: #f3f4f6;
  box-sizing: border-box;
  border: 1px solid #212121;
  padding: 4px;
  transition: transform 300ms ease;
}
.button-grid .button-item > a img,
.button-grid .button-item > a .no-image {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: #e5e7eb;
}
.button-grid .button-item > a .thumb-radius {
  border-radius: var(--button-grid-thumb-radius);
}
.button-grid .button-item > a .thumb-radius img,
.button-grid .button-item > a .thumb-radius .no-image {
  border-radius: var(--button-grid-thumb-radius);
}
.button-grid .button-item > a .title {
  position: relative;
  z-index: 1;
  display: inline-block;
  font-family: "Noto Serif", serif;
  font-size: 1rem;
  font-weight: 500;
  padding: 0;
  background: transparent;
  border: 0px solid #212121;
  border-radius: 0;
  color: #212121;
  transition: font-weight 150ms ease, background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}
.button-grid .button-item > a:hover .thumb {
  transform: scale(0.9);
}
.button-grid .button-item > a:hover .title {
  color: #212121;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .button-grid {
    --button-grid-item-size: 80px;
    gap: 0.5rem;
  }
}

/* ══════════════════════════════
   LABEL
══════════════════════════════ */
.wpcf7 label,
.wpcf7 .wpcf7-list-item label {
  display: block;
  /* font-family: 'Noto Serif', serif;*/
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}

/* ══════════════════════════════
   INPUT TESTO / TEXTAREA / SELECT
══════════════════════════════ */
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=number],
.wpcf7 input[type=url],
.wpcf7 input[type=date],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  color: #1a1a1a;
  background: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.wpcf7 input::-moz-placeholder, .wpcf7 textarea::-moz-placeholder {
  color: #aaa;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
  color: #aaa;
}

.wpcf7 input[type=text]:hover,
.wpcf7 input[type=email]:hover,
.wpcf7 input[type=tel]:hover,
.wpcf7 input[type=number]:hover,
.wpcf7 input[type=url]:hover,
.wpcf7 input[type=date]:hover,
.wpcf7 textarea:hover,
.wpcf7 select:hover {
  border-color: #aaa;
}

.wpcf7 input[type=text]:focus,
.wpcf7 input[type=email]:focus,
.wpcf7 input[type=tel]:focus,
.wpcf7 input[type=number]:focus,
.wpcf7 input[type=url]:focus,
.wpcf7 input[type=date]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  border-color: #378ADD;
  box-shadow: 0 0 0 3px rgba(55, 138, 221, 0.15);
}

.wpcf7 textarea {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}

/* ══════════════════════════════
   SELECT — freccia custom
   CF7 wrappa il select in <span>
══════════════════════════════ */
.wpcf7 span:has(> select) {
  position: relative;
  display: block;
}

.wpcf7 span:has(> select)::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #888;
  pointer-events: none;
}

.wpcf7 select {
  padding-right: 36px;
  cursor: pointer;
}

/* ══════════════════════════════
   CHECKBOX & RADIO
══════════════════════════════ */
.wpcf7 .wpcf7-checkbox .wpcf7-list-item,
.wpcf7 .wpcf7-radio .wpcf7-list-item {
  margin: 0 0 8px;
}

.wpcf7 .wpcf7-checkbox .wpcf7-list-item label,
.wpcf7 .wpcf7-radio .wpcf7-list-item label {
  /*font-family: var(--font-sans, sans-serif);
  font-size: 14px;
  font-weight: 400;*/
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}

.wpcf7 input[type=checkbox],
.wpcf7 input[type=radio] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid #bbb;
  background: #fff;
  cursor: pointer;
  outline: none;
  position: relative;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}

.wpcf7 input[type=checkbox] {
  border-radius: 5px;
}

.wpcf7 input[type=radio] {
  border-radius: 50%;
}

.wpcf7 input[type=checkbox]:checked,
.wpcf7 input[type=radio]:checked {
  background: #378ADD;
  border-color: #378ADD;
}

.wpcf7 input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 7px;
  height: 11px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(42deg);
}

.wpcf7 input[type=radio]:checked::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
}

.wpcf7 input[type=checkbox]:hover:not(:checked),
.wpcf7 input[type=radio]:hover:not(:checked) {
  border-color: #378ADD;
}

.wpcf7 input[type=checkbox]:focus-visible,
.wpcf7 input[type=radio]:focus-visible {
  box-shadow: 0 0 0 3px rgba(55, 138, 221, 0.2);
}

/* ══════════════════════════════
   ACCEPTANCE
══════════════════════════════ */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
  font-family: sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #555;
  line-height: 1.55;
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.wpcf7 .wpcf7-acceptance a {
  color: #378ADD;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ══════════════════════════════
   SUBMIT
══════════════════════════════ */
.wpcf7 input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 28px;
  font-weight: 500;
  color: #fff;
  background: #378ADD;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}

.wpcf7 input[type=submit]:hover {
  background: #0E8BBF;
}

.wpcf7 input[type=submit]:active {
  transform: scale(0.98);
}

/* ══════════════════════════════
   VALIDATION
══════════════════════════════ */
.wpcf7 .wpcf7-not-valid {
  border-color: #E24B4A !important;
  box-shadow: 0 0 0 3px rgba(226, 75, 74, 0.13) !important;
}

.wpcf7 .wpcf7-not-valid-tip {
  font-size: 12px;
  color: #E24B4A;
  margin-top: 4px;
  padding: 8px;
  display: block;
}

.wpcf7 .wpcf7-response-output {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  border: 1px solid transparent;
}

.wpcf7 .wpcf7-mail-sent-ok {
  background: #EAF3DE;
  color: #3B6D11;
  border-color: #C0DD97;
}

.wpcf7 .wpcf7-mail-sent-ng,
.wpcf7 .wpcf7-validation-errors {
  background: #FCEBEB;
  color: #A32D2D;
  border-color: #F7C1C1;
}

/* ══════════════════════════════
   LAYOUT — .form-wrap
   Gestisce solo la griglia e
   la disposizione dei campi.
   Nessun stile sui componenti.
══════════════════════════════ */
.form-wrap {
  max-width: 680px;
}

.form-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}

.form-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-item p {
  margin: 0;
}

/* campo a tutta larghezza */
.form-item.full {
  grid-column: 1/-1;
}

.acceptance-wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}

/* responsive */
@media (max-width: 520px) {
  .form-items {
    grid-template-columns: 1fr;
  }
  .form-item.full {
    grid-column: auto;
  }
}
/* ARSENALE DI NAPOLI - STYLE*/
.header-polygon {
  /*    clip-path: polygon(
              0 0,
              0 100%,
              53% 100%,
              100% 50%,
              53% 0
      );*/
  clip-path: polygon(0 0, 0 87%, 13% 100%, 47% 65%, 100% 65%, 100% 0);
}

.page-header-polygon,
.top-bar-polygon {
  clip-path: polygon(0 0, 0 50vw, 12vw 100%, 42vw 38vw, 100% 38vw, 100% 0);
}
@media (max-width: 767px) {
  .page-header-polygon,
  .top-bar-polygon {
    display: none;
    clip-path: polygon(0 0, 0 50vw, 12vw 100%, 42vw 100%);
  }
}

selector {
  clip-path: polygon(0 0, 0 130px, 100px 190px, 290px 80px, 100% 80px, 100% 0);
}

.left-polygon {
  clip-path: polygon(0 50%, 47% 100%, 100% 100%, 100% 0, 47% 0);
}

.left-polygon-end {
  clip-path: polygon(0 50%, 47% 100%, 100% 100%, 100% 0, 47% 0);
}

.left-polygon-start {
  clip-path: polygon(0 0, 0 50%, 47% 100%, 100% 100%, 100% 0);
}

.right-polygon {
  clip-path: polygon(0 0, 0 100%, 47% 100%, 100% 50%, 47% 0);
}

.right-polygon-end {
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 50%, 47% 0);
}

.left-polygon .elementor-widget-image,
.left-polygon-end .elementor-widget-image,
.right-polygon .elementor-widget-image,
.right-polygon-end .elementor-widget-image {
  height: 100%;
  width: 100%;
}

/* SQUARE ITEMS */
.item-square .item-panel {
  width: 200%;
  height: 100%;
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
}

/* EXAGON ITEMS */
.item-polygon {
  --item-polygon-border: 8px;
}

.item-polygon .item-border,
.item-polygon .item-container {
  clip-path: polygon(0 50%, 15% 100%, 85% 100%, 100% 50%, 85% 0, 15% 0);
}

.item-polygon .item-border {
  aspect-ratio: 1/0.55;
  padding: 0;
}

.item-polygon .item-container {
  width: calc(100% - var(--item-polygon-border));
  height: calc(100% - var(--item-polygon-border));
  margin: 0;
  padding: 0;
}

.item-polygon:hover .item-title {
  opacity: 0.8;
}

.item-polygon .item-panel {
  width: 200%;
  height: 100%;
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
}

.item-polygon:hover .item-panel {
  transform: translateX(0);
}

.post-gray-item::after {
  transition: all 400ms linear;
  background-color: #6EC1E4;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translatex(-50%);
  width: 0;
  height: 4px;
}

.post-gray-item:hover {
  opacity: 0.85;
}

.post-gray-item:hover::after {
  width: 100%;
}

/*# sourceMappingURL=style.css.map */