@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&family=Oswald:wght@200..700&family=Homemade+Apple&display=swap");

/*
*	MEDIA QUERY
*/
@font-face {
  font-family: "chillenregular";
  src: url("fonts/chillen-webfont.woff2") format("woff2"), url("fonts/chillen-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
:root {
  --colore-arancio-brand: #e38510;
  --colore-header: #402f1e;
  --colore-menu: #402f1e;
  --colore-menu-toggle: #271e07;
  --colore-menu-toggle-hover: #18130e;
  --colore-testi: #65492c;
  --colore-testi-dark: #21180f;
  --colore-testi-2-light: #eee3da;
  --colore-testi-2: #ead8c9;
  --colore-testi-2-dark: #c7ad98;
  --colore-header-singleproduct: #9b7a5e;
  --colore-bianco: #fff;
  --colore-nero: #000;
  --colore-blu: #133250;
  --colore-blu-scuro: #0e121d;
  --colore-marrone: #201511;
  --colore-sfondo-1: #fff5ed;
  --colore-sfondo-2: #fbf2ea;
  --colore-sfondo-3: #3c4a4cf0;
  --colore-sfondo-4: #4e6164;
  --colore-sfondo-5: #31261d;
  --colore-sfondo-schede: #fff9f4;
  --colore-testi-cards: #65492c;
  --colore-testi-cards-hover: #090909;
  --colore-sfondo-cards: #ead8c9;
  --colore-sfondo-cards-hover: #fffcfa;
  --header-height: 7.5rem;
  --banner-height: 0px;
  --menu-item: 1.5rem;
  --app-height: 100%;
  --spaziatura-laterale: 2.5vw;
  --section-head-height: 3rem;
  --control-height: 4rem;
  --animation-fast: 0.4s cubic-bezier(0.3, 1, 0.3, 1);
  --animation-primary: 0.6s cubic-bezier(0.3, 1, 0.3, 1);
  --animation-smooth: 0.8s cubic-bezier(0.3, 1, 0.3, 1);
  --animation-slow: 0.8s cubic-bezier(0.6, 0, 0.2, 1);
  --animation-slider: 1.2s cubic-bezier(0.6, 0, 0.2, 1);
  --animation-nav: 0.4s cubic-bezier(0.3, 0, 0.3, 1);
  --animation-nav-smooth: 0.6s cubic-bezier(0.3, 0, 0.3, 1);
}
@media (min-device-width: 1024px) and (max-width: 1680px) {
  :root {
    --header-height: 6rem;
    --menu-item: 1.4rem;
  }
}
@media (min-device-width: 1024px) and (max-width: 1279px) {
  :root {
    --header-height: 6rem;
    --menu-item: 1.4rem;
  }
}
@media (max-width: 899px) {
  :root {
    --header-height: 4rem;
  }
}
* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}
html {
  overscroll-behavior: none;
}
@media only screen and (min-width: 1681px) and (max-width: 2100px) {
  html {
    font-size: 15px;
  }
}
@media (min-device-width: 1024px) and (max-width: 1680px) {
  html {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 744px) and (max-device-width: 834px) and (orientation: landscape) {
  html {
    font-size: 12px;
  }
}
@media (min-width: 900px) and (max-width: 1365px) {
  html {
    font-size: 12px;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 340px) {
  html {
    font-size: 14px;
  }
}
html.lenis,
html.lenis body {
  height: auto;
}
*::-webkit-scrollbar {
  width: 0;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
body {
  position: relative;
  overscroll-behavior: none;
}
body.footer-bg-chiaro footer {
  background-color: var(--colore-sfondo-4);
}
#container {
  position: relative;
  overflow: hidden;
}
.hidden {
  visibility: hidden;
}
.mobile {
  display: none !important;
}
@media (max-width: 899px) {
  .mobile.exclude-max899 {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .mobile {
    display: block !important;
  }
}
.max899 {
  display: none !important;
}
@media (max-width: 899px) {
  .max899 {
    display: block !important;
  }
}
@media only screen and (min-device-width: 744px) and (max-device-width: 834px) {
  .max899.ipads {
    display: block !important;
  }
}
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .max899.pro13 {
    display: block !important;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .max899.exclude-mobile {
    display: none !important;
  }
}
.desktop {
  display: block;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .desktop {
    display: none !important;
  }
}
@media (max-width: 899px) {
  .desktop {
    display: none !important;
  }
}
@media only screen and (min-device-width: 744px) and (max-device-width: 834px) {
  .desktop.exclude-ipads {
    display: none !important;
  }
}
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .desktop.exclude-pro13 {
    display: none !important;
  }
}
.uppercase {
  text-transform: uppercase;
}
.hidden {
  visibility: hidden;
}
.bold {
  font-weight: bold;
}
.normal {
  font-weight: normal;
}
.italic {
  font-style: italic;
}
.img {
  line-height: 0;
  width: 100%;
}
img {
  display: block;
  width: 100%;
}
video {
  width: 100%;
}
a {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  text-decoration: none;
  font-size: 1rem;
  color: var(--colore-testi-2);
}
a:visited {
  color: inherit;
}
p {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  color: var(--colore-testi-2);
}
span {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.2;
  color: var(--colore-testi-2);
}
span.bold {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
span.infant {
  font-family: "chillenregular", serif;
}
h1 {
  font-family: "chillenregular", serif;
  font-size: 14.375vw;
}
h2 {
  font-family: "chillenregular", serif;
  color: var(--colore-testi-2);
}
h3 {
  font-family: "chillenregular", serif;
  color: var(--colore-testi-2);
}
h3.infant {
  font-family: "chillenregular", serif;
}
h4 {
  font-family: "chillenregular", serif;
  font-size: 1.8rem;
  color: var(--colore-testi-2);
}
section {
  position: relative;
}
.titolo-xl {
  font-size: 16vw;
}
@media (max-width: 899px) {
  .titolo-xl {
    font-size: 4.5rem;
    padding-bottom: 2rem;
  }
}
.titolo-l {
  font-size: 14vw;
  margin: 0 auto 3rem auto;
}
.titolo-m {
  font-size: 10vw;
}
@media (max-width: 899px) {
  .titolo-m {
    font-size: 2rem;
  }
}
.titolo-s {
  font-size: 7vw;
}
@media (max-width: 899px) {
  .titolo-s {
    font-size: 1.8rem;
  }
}
.testo-xxl {
  font-size: 12rem;
  line-height: 90%;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .testo-xxl {
    font-size: 6rem;
  }
}
@media (max-width: 899px) {
  .testo-xxl {
    font-size: 9rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .testo-xxl {
    font-size: 8rem;
  }
}
.testo-xl {
  font-size: 7rem;
  line-height: 90%;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .testo-xl {
    font-size: 4rem;
  }
}
@media (max-width: 899px) {
  .testo-xl {
    font-size: 3.2rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .testo-xl {
    font-size: 2.6rem;
  }
}
.testo-l {
  font-size: 4.2rem;
  line-height: 90%;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .testo-l {
    font-size: 3rem;
  }
}
@media (max-width: 899px) {
  .testo-l {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .testo-l {
    font-size: 1.8rem;
  }
}
.testo-m {
  font-size: 1.25rem;
}
.testo-s {
  font-size: 14px;
}
.testo-xs {
  font-size: 12px;
}
.testo-xxs {
  font-size: 10px;
}
.anim_fade-up {
  transform: translateY(80px);
  opacity: 0;
}
.cta-button {
  position: relative;
  display: inline-flex;
  cursor: pointer;
}
.cta-button:hover:not(.bg-brown) .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-2-dark);
}
.cta-button:hover:not(.bg-brown) .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-bianco);
}
.cta-button.bg-brown .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
}
.cta-button.bg-brown .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
}
.cta-button.bg-brown:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-2-dark);
}
.cta-button.bg-brown:hover .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-bianco);
}
.cta-button .cta-button__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0.5rem 1.5rem;
}
.cta-button .cta-button__container .cta-button__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
.cta-button .cta-button__container .cta-button__bg span {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--colore-testi-2);
  transition: background-color 0.3s;
  border-radius: 0.3rem;
}
.cta-button .cta-button__container .cta-button__wrapper {
  position: relative;
}
.cta-button .cta-button__container .cta-button__wrapper .cta-button__text {
  text-align: center;
}
.cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi);
  transition: color 0.3s;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.section__head {
  --color-1: var(--colore-testi);
  --color-2: var(--colore-testi-2);
  --color-3: var(--colore-testi-2);
  --color-4: var(--colore-testi-2-dark);
  position: relative;
  height: var(--section-head-height);
  z-index: 25;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .section__head {
    height: 2rem;
  }
}
.section__head.light {
  --color-1: var(--colore-testi-2);
  --color-2: var(--colore-testi);
  --color-3: var(--colore-testi-dark);
  --color-4: var(--colore-testi);
}
.section__block-text {
  padding: 0 0 18rem 0;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5rem;
  text-align: center;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .section__block-text {
    gap: 2.5rem;
    padding-bottom: 5rem;
  }
}
@media (max-width: 899px) {
  .section__block-text {
    gap: 2.5rem;
    padding-bottom: 12rem;
  }
}
.section__block-text.light .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-2-dark);
}
.section__block-text.light .cta-button:hover .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-bianco);
}
.section__block-text.light .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-2);
}
.section__block-text.light .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi);
}
.section__block-text span {
  text-transform: uppercase;
  display: block;
}
.section__block-text .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-dark);
}
.section__block-text .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
  border-radius: 0.3rem;
}
.section__block-text .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.section__block-text .sezione__testata {
  width: 25vw;
  text-wrap: balance;
}
.section__block-text .sezione__titolo {
  width: 85%;
  margin: 0 auto;
}
@media (max-width: 899px) {
  .section__block-text .sezione__titolo {
    width: 100%;
  }
}
.section__block-text .sezione__sottotitolo {
  width: 50vw;
  text-wrap: balance;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .section__block-text .sezione__sottotitolo {
    width: 35vw;
  }
}
@media (max-width: 899px) {
  .section__block-text .sezione__sottotitolo {
    width: 50vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .section__block-text .sezione__sottotitolo {
    width: 75vw;
  }
}
.swiper-slideshow__outer {
  position: relative;
}
.swiper-slideshow__outer .control {
  position: absolute;
  height: var(--control-height);
  top: calc(50% - var(--control-height) / 2);
  height: var(--control-height);
  width: var(--control-height);
  cursor: pointer;
  z-index: 9;
}
.swiper-slideshow__outer .control.prev {
  left: calc(33% - var(--control-height) / 2);
}
@media (max-width: 899px) {
  .swiper-slideshow__outer .control.prev {
    left: 7.5vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .swiper-slideshow__outer .control.prev {
    left: 5vw;
  }
}
.swiper-slideshow__outer .control.next {
  right: calc(33% - var(--control-height) / 2);
}
@media (max-width: 899px) {
  .swiper-slideshow__outer .control.next {
    right: 7.5vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .swiper-slideshow__outer .control.next {
    right: 5vw;
  }
}
.swiper-slideshow__outer .control.swiper-button-disabled {
  opacity: 0.5;
}
.swiper-slideshow__outer .control:hover:not(.swiper-button-disabled).prev .control__wrapper .control__container {
  -webkit-transform: translate(2%, 2%);
  -moz-transform: translate(2%, 2%);
  -ms-transform: translate(2%, 2%);
  transform: translate(2%, 2%);
}
.swiper-slideshow__outer .control:hover:not(.swiper-button-disabled).next .control__wrapper .control__container {
  -webkit-transform: translate(2%, 2%);
  -moz-transform: translate(2%, 2%);
  -ms-transform: translate(2%, 2%);
  transform: translate(2%, 2%);
}
.swiper-slideshow__outer .control .control__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.swiper-slideshow__outer .control .control__wrapper .control__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
  transition: all 0.2s;
}
.swiper-slideshow__outer .control .control__wrapper .control__container .control__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
}
.swiper-slideshow__outer .control .control__wrapper .control__container .control__bg span {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--colore-testi);
  opacity: 0.85;
  border-radius: 50%;
}
.swiper-slideshow__outer .control .control__wrapper .control__container .control__text {
  position: relative;
}
.swiper-slideshow__outer .control .control__wrapper .control__container .control__arrow {
  position: relative;
  width: 8px;
}
.swiper-slideshow__outer .control .control__wrapper .control__container .control__arrow .svg-arrow {
  fill: var(--colore-testi-2);
}
@media only screen and (min-device-width: 744px) and (max-device-width: 834px) and (orientation: landscape) {
  .sezione-hero .img {
    height: 100%;
  }
  .sezione-hero .img img {
    height: 100%;
    object-fit: cover;
  }
}
.control {
  height: var(--control-height);
  width: var(--control-height);
  cursor: pointer;
}
.control:hover.prev .control__wrapper .control__container {
  -webkit-transform: translate(2%, 2%);
  -moz-transform: translate(2%, 2%);
  -ms-transform: translate(2%, 2%);
  transform: translate(2%, 2%);
}
.control:hover.next .control__wrapper .control__container {
  -webkit-transform: translate(2%, 2%);
  -moz-transform: translate(2%, 2%);
  -ms-transform: translate(2%, 2%);
  transform: translate(2%, 2%);
}
.control .control__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.control .control__wrapper .control__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-transform: translate(0%, 0%);
  -moz-transform: translate(0%, 0%);
  -ms-transform: translate(0%, 0%);
  transform: translate(0%, 0%);
  transition: all 0.2s;
}
.control .control__wrapper .control__container .control__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
}
.control .control__wrapper .control__container .control__bg span {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--colore-testi-2);
  opacity: 0.85;
}
.control .control__wrapper .control__container .control__text {
  position: relative;
}
.control .control__wrapper .control__container .control__arrow {
  position: relative;
  width: 8px;
}
.control .control__wrapper .control__container .control__arrow .svg-arrow {
  fill: var(--colore-testi);
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  /*font-size: 100%;*/
  /*font: inherit;*/
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
* html .clearfix {
  zoom: 1;
}
/* IE6 */
*:first-child + html .clearfix {
  zoom: 1;
}
/* IE7 */
/* === NEW MENU TOGGLE BUTTON - DENTRO L'HEADER === */
.header-fixed__right .menu-toggle {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  width: 120px !important;
  height: 60px !important;
  background-color: var(--colore-menu-toggle) !important;
  border-radius: 30px !important;
  cursor: pointer !important;
  z-index: 10000 !important;
  display: flex !important;
  align-items: center !important;
  transition: all 0.3s ease !important;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle {
    width: 100px !important;
    height: 50px !important;
  }
}
.header-fixed__right .menu-toggle:hover {
  background-color: var(--colore-menu-toggle-hover) !important;
}
.header-fixed__right .menu-toggle.opened {
  width: 60px !important;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle.opened {
    width: 50px !important;
  }
}
.header-fixed__right .menu-toggle .menu-copy {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  color: #EAD8C9;
  transition: all 0.3s ease;
  z-index: 1;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle .menu-copy {
    left: 15px;
  }
}
.header-fixed__right .menu-toggle .menu-copy p {
  text-transform: uppercase;
  font-weight: 500;
  font-size: 12px;
  margin: 0;
  padding: 0;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle .menu-copy p {
    font-size: 10px;
  }
}
.header-fixed__right .menu-toggle:hover .menu-copy {
  left: 15px;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle:hover .menu-copy {
    left: 10px;
  }
}
.header-fixed__right .menu-toggle.opened .menu-copy {
  opacity: 0;
}
.header-fixed__right .menu-toggle .menu-toggle-icon {
  position: absolute;
  right: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #EAD8C9;
  transition: all 0.3s ease;
  z-index: 10;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle .menu-toggle-icon {
    width: 50px;
    height: 50px;
  }
}
.header-fixed__right .menu-toggle .hamburger {
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4px;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle .hamburger {
    width: 16px;
    height: 16px;
    gap: 3px;
  }
}
.header-fixed__right .menu-toggle .menu-bar {
  width: 15px;
  height: 2px;
  background: #6C634E;
  transition: all 0.3s ease;
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle .menu-bar {
    width: 12px;
    height: 1.5px;
  }
}
.header-fixed__right .menu-toggle.opened .menu-bar[data-position=top] {
  transform: translateY(3px) rotate(45deg);
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle.opened .menu-bar[data-position=top] {
    transform: translateY(2.5px) rotate(45deg);
  }
}
.header-fixed__right .menu-toggle.opened .menu-bar[data-position=bottom] {
  transform: translateY(-3px) rotate(-45deg);
}
@media (max-width: 899px) {
  .header-fixed__right .menu-toggle.opened .menu-bar[data-position=bottom] {
    transform: translateY(-2.5px) rotate(-45deg);
  }
}
/* === NEW MENU - LAYOUT AGGIORNATO === */
.new-menu {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: var(--colore-menu) !important;
  z-index: 94 !important;
  display: flex !important;
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
  pointer-events: none;
}
@media (max-width: 899px) {
  .new-menu {
    flex-direction: column !important;
  }
}
.new-menu .menu-col {
  position: relative;
  height: 100%;
  padding: 6rem 4rem 2rem 4rem;
}
@media (max-width: 899px) {
  .new-menu .menu-col {
    padding: 4rem 2rem 1.5rem 2rem;
  }
}
.new-menu .menu-col.col-1 {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 899px) {
  .new-menu .menu-col.col-1 {
    flex: 2;
    justify-content: flex-end;
    align-items: flex-start;
    padding-bottom: 3rem;
  }
}
.new-menu .menu-col.col-2 {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  position: relative;
}
@media (max-width: 899px) {
  .new-menu .menu-col.col-2 {
    flex: 1;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 2rem;
  }
}
.new-menu .main-menu-container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
}
@media (max-width: 899px) {
  .new-menu .main-menu-container {
    gap: 1.5rem;
  }
}
.new-menu .links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 899px) {
  .new-menu .links {
    gap: 0.3rem;
  }
}
.new-menu .links .link {
  transform: translateY(30px);
  opacity: 0;
}
.new-menu .links .link a {
  text-decoration: none;
  color: #EAD8C9;
  font-size: 2rem;
  font-weight: 300;
  transition: color 0.3s ease;
  display: block;
  padding: 0.5rem 0;
  line-height: 1.2;
}
@media (max-width: 899px) {
  .new-menu .links .link a {
    font-size: 1.4rem;
    padding: 0.2rem 0;
    line-height: 1.1;
  }
}
.new-menu .links .link a:hover {
  color: #fff;
}
.new-menu .secondary-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 899px) {
  .new-menu .secondary-links {
    gap: 0.2rem;
  }
}
.new-menu .secondary-links .link {
  transform: translateY(30px);
  opacity: 0;
}
.new-menu .secondary-links .link a {
  text-decoration: none;
  color: #EAD8C9;
  font-size: 2rem;
  font-weight: 300;
  transition: color 0.3s ease;
  display: block;
  padding: 0.25rem 0;
  text-transform: uppercase;
  line-height: 1.2;
}
@media (max-width: 899px) {
  .new-menu .secondary-links .link a {
    font-size: 1.5rem;
    padding: 0.1rem 0;
    line-height: 1.1;
  }
}
.new-menu .secondary-links .link a:hover {
  color: #fff;
}
.new-menu .socials {
  width: 100%;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 899px) {
  .new-menu .socials {
    max-width: 100%;
    gap: 1rem;
  }
}
.new-menu .socials .contact-info .sub-col p {
  color: #EAD8C9;
  transform: translateY(30px);
  opacity: 0;
  text-transform: uppercase;
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
  text-align: right;
  line-height: 1.3;
}
@media (max-width: 899px) {
  .new-menu .socials .contact-info .sub-col p {
    text-align: left;
    font-size: 0.65rem;
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }
}
.new-menu .socials .contact-info .sub-col p:last-child {
  margin-bottom: 0;
}
.new-menu .socials .contact-info .sub-col p a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.new-menu .socials .contact-info .sub-col p a:hover {
  color: #fff;
}
.new-menu .socials .social-links .sub-col p {
  color: #EAD8C9;
  transform: translateY(30px);
  opacity: 0;
  text-transform: uppercase;
  font-size: 0.8rem;
  margin-bottom: 0.5rem;
  text-align: right;
  line-height: 1.3;
}
@media (max-width: 899px) {
  .new-menu .socials .social-links .sub-col p {
    text-align: left;
    font-size: 0.65rem;
    margin-bottom: 0.2rem;
    line-height: 1.2;
  }
}
.new-menu .socials .social-links .sub-col p:last-child {
  margin-bottom: 0;
}
.new-menu .socials .social-links .sub-col p a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}
.new-menu .socials .social-links .sub-col p a:hover {
  color: #fff;
}
.new-menu .footer-info {
  position: absolute;
  bottom: 2.5rem;
  right: 4rem;
}
@media (max-width: 899px) {
  .new-menu .footer-info {
    bottom: 1.5rem;
    right: 1.5rem;
  }
}
.new-menu .footer-info p {
  color: #EAD8C9;
  text-transform: uppercase;
  font-size: 0.8rem;
  font-weight: 300;
  margin: 0;
  text-align: right;
  transform: translateY(30px);
  opacity: 0;
}
@media (max-width: 899px) {
  .new-menu .footer-info p {
    font-size: 0.6rem;
    text-align: left;
  }
}
#linphelle-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.95);
  color: white;
  padding: 20px;
  z-index: 9999;
  transform: translateY(100%);
  transition: transform 0.3s ease-in-out;
  backdrop-filter: blur(10px);
}
#linphelle-cookie-banner.show {
  transform: translateY(0);
}
#linphelle-cookie-banner.hide {
  transform: translateY(100%);
}
#linphelle-cookie-banner .cookie-banner-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 768px) {
  #linphelle-cookie-banner .cookie-banner-content {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
}
#linphelle-cookie-banner .cookie-banner-text {
  flex: 1;
}
#linphelle-cookie-banner .cookie-banner-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}
#linphelle-cookie-banner .cookie-banner-text a {
  color: #fff;
  text-decoration: underline;
}
#linphelle-cookie-banner .cookie-banner-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  #linphelle-cookie-banner .cookie-banner-actions {
    justify-content: center;
    flex-wrap: wrap;
  }
}
#linphelle-cookie-banner .cookie-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
}
@media (max-width: 768px) {
  #linphelle-cookie-banner .cookie-btn {
    flex: 1;
    min-width: 100px;
  }
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-primary {
  background: #007cba;
  color: white;
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-primary:hover {
  background: #005a87;
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-secondary {
  background: #666;
  color: white;
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-secondary:hover {
  background: #555;
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-outline {
  background: transparent;
  color: white;
  border: 1px solid #ccc;
}
#linphelle-cookie-banner .cookie-btn.cookie-btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
}
#linphelle-cookie-banner .cookie-settings {
  max-width: 1200px;
  margin: 0 auto;
}
#linphelle-cookie-banner .cookie-settings.hidden {
  display: none;
}
#linphelle-cookie-banner .cookie-settings h3 {
  margin: 0 0 20px 0;
  font-size: 18px;
}
#linphelle-cookie-banner .cookie-category {
  margin-bottom: 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}
#linphelle-cookie-banner .cookie-category label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
#linphelle-cookie-banner .cookie-category input[type=checkbox] {
  margin-top: 2px;
}
#linphelle-cookie-banner .cookie-category .cookie-description {
  font-size: 12px;
  color: #ccc;
  margin-top: 5px;
  display: block;
}
#linphelle-cookie-banner .cookie-settings-actions {
  margin-top: 20px;
  display: flex;
  gap: 10px;
}
#transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 199;
  visibility: hidden;
  opacity: 0;
}
#transition .bg-1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 200vw;
  height: 100%;
  transform: translateX(100vw);
  background: #6c634e;
  z-index: 10;
  /* box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px); */
  /* background-color: var(--colore-testi-2);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  z-index: 10; */
}
#transition .bg-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 200vw;
  height: 100%;
  transform: translateX(0);
  background: #a38234;
  opacity: 0;
  visibility: hidden;
  z-index: 20;
  /* background-color: var(--colore-testi);
  clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  z-index: 20; */
}
/* === HEADER SEMPLIFICATO - SOLO ESSENZIALE === */
header.header-fixed {
  position: fixed;
  z-index: 95; /* Manteniamo basso per la barra blur */
  left: 0;
  top: 0;
  width: 100%;
  padding: 1.25rem var(--spaziatura-laterale);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: transform 0.4s ease-out;
  transform: translateY(-100%);
  /* === ICONA PROFILO === */
  /* === ICONA CARRELLO === */
}
header.header-fixed.active {
  transform: translateY(0%);
}
header.header-fixed span {
  color: var(--colore-testi-2);
}
header.header-fixed .header-fixed__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: translateY(-101%);
  z-index: 96; /* Sopra l'header di default */
  transition: z-index 0.1s ease;
}
header.header-fixed .header-fixed__bg span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--colore-header);
}
header.header-fixed .header-fixed__left {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  z-index: 100;
}
@media (max-width: 899px) {
  header.header-fixed .header-fixed__left {
    gap: 1rem;
  }
}
header.header-fixed .header-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  position: relative;
  color: var(--colore-testi-2);
  transition: all 0.3s ease;
  text-decoration: none;
  border-radius: 8px;
}
@media (max-width: 899px) {
  header.header-fixed .header-icon {
    width: 38px;
    height: 38px;
  }
}
header.header-fixed .header-icon:hover {
  background: rgba(234, 216, 201, 0.1);
  transform: translateY(-1px);
}
header.header-fixed .header-icon svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}
@media (max-width: 899px) {
  header.header-fixed .header-icon svg {
    width: 20px;
    height: 20px;
  }
}
header.header-fixed .header-icon:hover svg {
  transform: scale(1.1);
}
header.header-fixed .profile-icon {
  position: relative;
}
header.header-fixed .profile-icon:hover {
  background: rgba(234, 216, 201, 0.15);
}
header.header-fixed .cart-icon .cart-count {
  position: absolute;
  top: 1px;
  right: -2px;
  background: var(--colore-testi-2);
  color: var(--colore-testi);
  border: 1px solid var(--colore-header);
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-weight: 500;
  padding: 0 4px;
  box-sizing: border-box;
  transition: all 0.3s ease;
}
@media (max-width: 899px) {
  header.header-fixed .cart-icon .cart-count {
    min-width: 18px;
    height: 18px;
    font-size: 10px;
    top: -7px;
    right: -7px;
  }
}
header.header-fixed .cart-icon .cart-count.updated {
  animation: pulse-cart 0.4s ease;
}
header.header-fixed .cart-icon .cart-count[data-count="10"], header.header-fixed .cart-icon .cart-count[data-count="11"], header.header-fixed .cart-icon .cart-count[data-count="12"], header.header-fixed .cart-icon .cart-count[data-count="13"], header.header-fixed .cart-icon .cart-count[data-count="14"], header.header-fixed .cart-icon .cart-count[data-count="15"], header.header-fixed .cart-icon .cart-count[data-count="16"], header.header-fixed .cart-icon .cart-count[data-count="17"], header.header-fixed .cart-icon .cart-count[data-count="18"], header.header-fixed .cart-icon .cart-count[data-count="19"] {
  min-width: 24px;
}
@media (max-width: 899px) {
  header.header-fixed .cart-icon .cart-count[data-count="10"], header.header-fixed .cart-icon .cart-count[data-count="11"], header.header-fixed .cart-icon .cart-count[data-count="12"], header.header-fixed .cart-icon .cart-count[data-count="13"], header.header-fixed .cart-icon .cart-count[data-count="14"], header.header-fixed .cart-icon .cart-count[data-count="15"], header.header-fixed .cart-icon .cart-count[data-count="16"], header.header-fixed .cart-icon .cart-count[data-count="17"], header.header-fixed .cart-icon .cart-count[data-count="18"], header.header-fixed .cart-icon .cart-count[data-count="19"] {
    min-width: 22px;
  }
}
header.header-fixed .cart-icon .cart-count::before {
  content: attr(data-count);
}
header.header-fixed .cart-icon .cart-count[data-count]:not([data-count=""])::before {
  content: attr(data-count);
}
header.header-fixed .header-fixed__center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10rem;
  display: flex;
  justify-content: center;
  z-index: 100;
}
@media (max-width: 899px) {
  header.header-fixed .header-fixed__center {
    width: 7rem;
  }
}
header.header-fixed .header-fixed__center .logo {
  width: 100%;
}
header.header-fixed .header-fixed__center .logo .logo-svg {
  fill: burlywood;
}
header.header-fixed .header-fixed__right {
  margin-left: auto;
  z-index: 100;
  display: flex;
  align-items: center;
  gap: 1rem;
}
header.header-fixed .header-fixed__right .menu-toggle {
  z-index: 100 !important;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  header.header-fixed .header-fixed__right {
    display: block;
  }
}
/* === QUANDO IL MENU È COMPLETAMENTE APERTO === */
body.menu-fully-open .header-fixed__bg {
  z-index: -999 !important;
  opacity: 0.3 !important;
}
body.menu-fully-open .header-fixed__left {
  z-index: 10001 !important;
}
/* === ICONA RICERCA HEADER === */
.header-search-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--colore-testi-2);
  transition: all 0.3s ease;
  border-radius: 8px;
}
@media (max-width: 899px) {
  .header-search-toggle {
    width: 38px;
    height: 38px;
    display: none !important;
  }
}
.header-search-toggle:hover {
  background: rgba(234, 216, 201, 0.1);
  transform: translateY(-1px);
}
.header-search-toggle svg {
  width: 22px;
  height: 22px;
  transition: transform 0.3s ease;
}
@media (max-width: 899px) {
  .header-search-toggle svg {
    width: 20px;
    height: 20px;
  }
}
.header-search-toggle:hover svg {
  transform: scale(1.1);
}
/* === OVERLAY RICERCA FULL-SCREEN === */
.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  visibility: hidden;
  pointer-events: none;
  background: rgb(255, 255, 255);
  backdrop-filter: blur(20px);
  clip-path: circle(0% at var(--click-x, 50%) var(--click-y, 10%));
  transition: clip-path 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.search-overlay.is-active {
  visibility: visible;
  pointer-events: auto;
  clip-path: circle(150% at var(--click-x, 50%) var(--click-y, 10%));
}
.search-overlay.is-active .search-overlay__container {
  opacity: 1;
  transform: translateY(0);
}
.search-overlay.is-closing {
  transition: clip-path 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53);
  clip-path: circle(0% at var(--click-x, 50%) var(--click-y, 10%));
}
.search-overlay.is-closing .search-overlay__container {
  transition: all 0.1s ease 0.5s;
  opacity: 0;
  transform: translateY(-10px);
}
.search-overlay__bg {
  display: none;
}
.search-overlay__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease 0.3s;
}
.search-overlay__header {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2rem var(--spaziatura-laterale);
  background: transparent;
  backdrop-filter: none;
  border-bottom: 1px solid rgba(108, 99, 78, 0.2);
}
@media (max-width: 899px) {
  .search-overlay__header {
    padding: 1.5rem var(--spaziatura-laterale);
    gap: 1rem;
  }
}
.search-input-wrapper {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.search-input-wrapper .search-icon {
  display: none;
}
.search-overlay__input {
  font-family: "chillenregular", serif;
  padding: 0 1rem;
  border: none;
  border-radius: 0;
  background: transparent;
  font-size: 100px;
  text-transform: capitalize;
}
@media (max-width: 899px) {
  .search-overlay__input {
    height: 50px;
    font-size: 16px;
  }
}
.search-overlay__input::placeholder {
  color: rgba(108, 99, 78, 0.6);
  text-transform: none;
}
.search-overlay__input:focus {
  outline: none;
  border: none;
  box-shadow: none;
  background: transparent;
}
.search-overlay__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--colore-testi);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  color: var(--colore-testi-2);
  transition: all 0.3s ease;
}
@media (max-width: 899px) {
  .search-overlay__close {
    width: 45px;
    height: 45px;
  }
}
.search-overlay__close:hover {
  background: rgba(108, 99, 78, 0.2);
  transform: scale(1.05);
}
.search-overlay__close svg {
  width: 20px;
  height: 20px;
}
.search-overlay__results {
  flex: 1;
  overflow-y: auto;
  padding: 2rem var(--spaziatura-laterale);
  background: rgb(255, 255, 255);
}
@media (max-width: 899px) {
  .search-overlay__results {
    padding: 1.5rem var(--spaziatura-laterale);
  }
}
/* === GRIGLIA RISULTATI === */
.search-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease;
}
@media (max-width: 899px) {
  .search-results-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
  }
}
.search-results-grid.has-results {
  display: flex;
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.search-results-grid .product-card {
  height: 500px;
  min-height: 500px;
}
@media (max-width: 899px) {
  .search-results-grid .product-card {
    height: 400px;
    min-height: 400px;
  }
}
.search-results-grid .product-card .product-card__wrapper {
  height: auto !important;
}
.search-results-grid .product-card .product-card__wrapper .product-card__image .image__wrapper .img img {
  border-radius: 1rem !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}
/* === STATO NESSUN RISULTATO === */
.search-no-results {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 400px;
  max-width: 500px;
  margin: 0 auto;
}
.search-no-results.is-visible {
  display: flex;
}
.search-no-results .no-results-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(108, 99, 78, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
.search-no-results .no-results-icon svg {
  width: 40px;
  height: 40px;
  color: rgba(108, 99, 78, 0.6);
}
.search-no-results h3 {
  font-size: 24px;
  font-weight: 600;
  color: var(--colore-testi-2);
  margin-bottom: 1rem;
}
.search-no-results p {
  font-size: 16px;
  color: rgba(108, 99, 78, 0.7);
  margin-bottom: 2rem;
  line-height: 1.5;
}
.search-no-results .view-all-products {
  padding: 12px 24px;
  background: var(--colore-testi-2);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}
.search-no-results .view-all-products:hover {
  background: rgba(108, 99, 78, 0.9);
  transform: translateY(-2px);
}
/* === RESPONSIVE === */
@media (max-width: 743px) {
  .search-overlay__header {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  .search-overlay__close {
    align-self: flex-end;
  }
  .search-results-grid {
    grid-template-columns: 1fr;
  }
}
footer {
  background-color: var(--colore-testi-dark);
  padding-top: 6rem;
}
footer * {
  color: var(--colore-testi-2);
}
footer .footer__wrapper {
  overflow: hidden;
}
footer .footer__wrapper .footer__top {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 20vh;
}
footer .footer__wrapper .footer__top .logo {
  width: 10rem;
  fill: var(--colore-testi-2);
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__top .logo {
    width: 7rem;
  }
}
footer .footer__wrapper .footer__newsletter {
  --input-height: 4rem;
  --input-space: 0.5rem;
  padding: 2.5rem var(--spaziatura-laterale) 25vh var(--spaziatura-laterale);
  padding-bottom: 25vh;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__newsletter {
    flex-direction: column;
    gap: 1.25rem;
  }
}
footer .footer__wrapper .footer__newsletter .newsletter__form {
  width: 30vw;
  flex: 0 0 30vw;
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__newsletter .newsletter__form {
    width: 100%;
    flex: 0 0 100%;
  }
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .form__row {
  margin-bottom: 0;
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .form__row .input {
  border: 1px solid var(--colore-testi-2);
  height: var(--input-height);
  padding-left: var(--input-space);
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .form__row .label {
  left: var(--input-space);
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .form__row .label .label__wrapper {
  flex-direction: row;
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .submit {
  position: absolute;
  margin: 0;
  right: var(--input-space);
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -o-transform: translateY(-50%);
  height: auto;
}
footer .footer__wrapper .footer__newsletter .newsletter__form .form__wrapper form .checkbox {
  margin-bottom: 1.25rem;
  margin-top: 1rem;
}
footer .footer__wrapper .footer__newsletter .newsletter__form .cta-button {
  height: calc(var(--input-height) - 2 * var(--input-space));
}
footer .footer__wrapper .footer__newsletter .newsletter__form .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi);
}
footer .footer__wrapper .footer__bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 1.25em;
  padding-left: var(--spaziatura-laterale);
  padding-right: var(--spaziatura-laterale);
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__bottom {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    padding-bottom: 5rem;
  }
}
footer .footer__wrapper .footer__bottom .bottom__left {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 0 0 33.3333333333%;
  width: 33.3333333333%;
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__bottom .bottom__left {
    align-items: center;
    order: 1;
    text-align: center;
    flex: 0 0 calc(100% - 2 * var(--spaziatura-laterale));
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
footer .footer__wrapper .footer__bottom .bottom__center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  flex: 0 0 33.3333333333%;
  width: 33.3333333333%;
}
@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  footer .footer__wrapper .footer__bottom .bottom__center {
    text-align: center;
  }
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__bottom .bottom__center {
    order: 2;
    text-align: center;
    flex: 0 0 calc(100% - 2 * var(--spaziatura-laterale));
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
footer .footer__wrapper .footer__bottom .bottom__center .logo-short {
  width: 1.5rem;
}
footer .footer__wrapper .footer__bottom .bottom__center .logo-short .logo-svg {
  fill: var(--colore-testi-2);
}
footer .footer__wrapper .footer__bottom .bottom__center .info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
footer .footer__wrapper .footer__bottom .bottom__right {
  display: flex;
  justify-content: flex-end;
  flex: 0 0 33.3333333333%;
  width: 33.3333333333%;
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__bottom .bottom__right {
    order: 3;
    justify-content: center;
    text-align: center;
    flex: 0 0 calc(100% - 2 * var(--spaziatura-laterale));
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
footer .footer__wrapper .footer__bottom .bottom__right .socials {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
footer .footer__wrapper .footer__legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (max-width: 899px) {
  footer .footer__wrapper .footer__legal {
    gap: 0.5rem;
    letter-spacing: -0.5px;
    padding-bottom: 2.5rem;
    flex-wrap: wrap;
    padding-bottom: 3rem;
  }
}
footer .footer__wrapper .footer__legal a span.uppercase {
  font-size: 0.8rem !important;
}
/* ========================================
   PROFILE DROPDOWN
======================================== */
.profile-dropdown-container {
  position: relative;
  display: inline-block;
}
.profile-trigger {
  cursor: pointer;
  position: relative;
}
.profile-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.1);
  min-width: 180px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
}
.profile-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown-arrow {
  position: absolute;
  top: -6px;
  left: 15px;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-right: none;
  border-bottom: none;
  transform: rotate(45deg);
}
.dropdown-menu {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}
.dropdown-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  color: var(--colore-testi);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: background-color 0.2s ease;
  white-space: nowrap;
}
.dropdown-item:hover {
  background: var(--colore-testi-2-light);
  color: var(--colore-testi-dark);
  text-decoration: none;
}
.dropdown-item.logout {
  color: #e74c3c;
  border-top: 1px solid #f0f0f0;
  margin-top: 4px;
}
.dropdown-item.logout:hover {
  background: #fee;
  color: #c0392b;
}
.dropdown-item svg {
  width: 16px;
  height: 16px;
  opacity: 0.7;
}
/* Desktop hover behavior - SOLO su desktop */
@media (min-width: 769px) and (hover: hover) {
  .profile-dropdown-container:hover .profile-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
/* Mobile responsive */
@media (max-width: 768px) {
  .profile-dropdown {
    left: -10px;
    min-width: 160px;
    top: calc(100% + 8px);
  }
  .dropdown-arrow {
    left: 20px;
  }
  .dropdown-item {
    padding: 14px 16px;
    font-size: 15px;
  }
  /* Disabilita hover su mobile */
  .profile-dropdown-container:hover .profile-dropdown {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
  }
}
.info-card {
  position: relative;
  width: 20vw;
  height: 12.5vw;
}
@media only screen and (min-width: 1681px) and (max-width: 2100px) {
  .info-card {
    width: 25vw;
    height: 15vw;
  }
}
@media (min-width: 1366px) and (max-width: 1680px) {
  .info-card {
    width: 30vw;
    height: 17.5vw;
  }
}
@media (min-width: 900px) and (max-width: 1365px) {
  .info-card {
    width: 30vw;
    height: 25vw;
  }
}
@media (max-width: 899px) {
  .info-card {
    width: 45vw;
    height: 40vw;
  }
}
.info-card .info-card__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--colore-testi-dark);
}
.info-card .info-card__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.info-card .info-card__wrapper .info-card__title {
  text-align: right;
}
.info-card .info-card__wrapper .info-card__content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  text-wrap: balance;
}
.product-card {
  list-style: none;
  --product-image-width: 12.5vw;
  --trasition-duration: 0.5s;
  position: relative;
  flex: 0 0 33.3333333333%;
  width: 33.3333333333%;
  overflow: hidden;
}
.product-card.bg-beige:hover .product-card__bg {
  background-color: var(--colore-sfondo-cards);
  transition: background-color 0.5s ease-in-out 0s;
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-beige:hover .product-card__bg {
    background-color: var(--colore-testi-2-light);
  }
}
.product-card.bg-beige:hover .product-card__wrapper .product-card__image .image__wrapper .image__container {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-beige:hover .product-card__wrapper .product-card__image .image__wrapper .image__container {
    -webkit-transform: scale(2.4);
    -moz-transform: scale(2.4);
    -ms-transform: scale(2.4);
    transform: scale(2.4);
  }
}
.product-card.bg-beige .product-card__bg {
  background-color: var(--colore-sfondo-cards);
}
.product-card.bg-beige .product-card__wrapper .product-card__header span {
  color: var(--colore-testi);
}
.product-card.bg-beige .product-card__wrapper .product-card__bottom span {
  color: var(--colore-testi);
}
.product-card.bg-brown-dark:hover .product-card__bg {
  background-color: var(--colore-marrone);
  transition: background-color 0.5s ease-in-out 0s;
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-brown-dark:hover .product-card__bg {
    background-color: var(--colore-testi-dark);
  }
}
.product-card.bg-brown-dark:hover .product-card__wrapper .product-card__image .image__wrapper .image__container {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-brown-dark:hover .product-card__wrapper .product-card__image .image__wrapper .image__container {
    -webkit-transform: scale(2.4);
    -moz-transform: scale(2.4);
    -ms-transform: scale(2.4);
    transform: scale(2.4);
  }
}
.product-card.bg-brown-dark .product-card__bg {
  background-color: var(--colore-testi-dark);
}
.product-card.bg-brown-dark .product-card__wrapper .product-card__header span {
  color: var(--colore-testi-2);
}
.product-card.bg-brown-dark .product-card__wrapper .product-card__bottom span {
  color: var(--colore-testi-2);
}
.product-card.bg-chiaro.coming-soon .product-card__wrapper .product-card__image {
  opacity: 0.2;
}
.product-card.bg-chiaro:hover:not(.coming-soon) .product-card__bg {
  background-color: var(--colore-sfondo-5);
  transition: background-color 0.5s ease-in-out 0s;
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-chiaro:hover:not(.coming-soon) .product-card__bg {
    background-color: var(--color-brown-light);
  }
}
.product-card.bg-chiaro:hover:not(.coming-soon) .product-card__wrapper .product-card__image .image__wrapper .image__container {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .product-card.bg-chiaro:hover:not(.coming-soon) .product-card__wrapper .product-card__image .image__wrapper .image__container {
    -webkit-transform: scale(2.4);
    -moz-transform: scale(2.4);
    -ms-transform: scale(2.4);
    transform: scale(2.4);
  }
}
.product-card.bg-chiaro .product-card__bg {
  background-color: var(--colore-sfondo-4);
  border-radius: 50px;
}
.product-card.bg-chiaro .product-card__wrapper .product-card__header span {
  color: var(--colore-testi-2);
}
.product-card.bg-chiaro .product-card__wrapper .product-card__header .product-card__titolo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  color: var(--colore-blu);
  width: 100%;
  text-align: center;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .product-card.bg-chiaro .product-card__wrapper .product-card__header .product-card__titolo {
    position: relative;
    left: 0;
    transform: none;
    order: 3;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .product-card.bg-chiaro .product-card__wrapper .product-card__header .product-card__titolo {
    position: relative;
    left: 0;
    transform: none;
    order: 3;
    margin-bottom: 3rem;
  }
}
.product-card.bg-chiaro .product-card__wrapper .product-card__header .product-card__titolo span {
  font-weight: 400;
  font-size: 3rem;
  font-family: "chillenregular", serif;
}
.product-card.bg-chiaro .product-card__wrapper .text-preview__label {
  transform: rotate(-5deg);
}
.product-card.bg-chiaro .product-card__wrapper .text-preview__label span {
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  transform: rotate(-10deg);
  font-size: 3rem;
}
.product-card.bg-chiaro .product-card__wrapper .product-card__bottom margin span {
  color: var(--colore-testi-2);
}
@media (max-width: 899px) {
  .product-card {
    --product-image-width: 25vw;
  }
}
.product-card .product-card__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.5s ease-in-out 0s;
}
.product-card .product-card__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 5rem 3rem 7rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.product-card .product-card__wrapper .product-card__header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3.5rem;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .product-card .product-card__wrapper .product-card__header {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 8px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .product-card .product-card__wrapper .product-card__header {
    flex-direction: column;
    text-align: center;
    gap: 4px;
    margin-bottom: 9rem;
  }
}
.product-card .product-card__wrapper .product-card__image .image__wrapper {
  width: var(--product-image-width);
  margin: 0 auto;
}
.product-card .product-card__wrapper .product-card__image .image__wrapper .image__container {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  transform-origin: bottom center;
  transition: all var(--trasition-duration) ease-in-out;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .product-card .product-card__wrapper .product-card__image .image__wrapper .image__container {
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -ms-transform: scale(2);
    transform: scale(2);
  }
}
.product-card .product-card__wrapper .product-card__bottom {
  position: relative;
  height: 5rem;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 1rem auto 0 auto;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .product-card .product-card__wrapper .product-card__bottom {
    height: auto;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .product-card .product-card__wrapper .product-card__bottom {
    height: auto;
  }
}
.product-card .product-card__wrapper .product-card__bottom .product-card__text-preview {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  -o-transform: translateY(0%);
  opacity: 1;
  transition: all var(--trasition-duration) ease-in-out;
  text-align: center;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .product-card .product-card__wrapper .product-card__bottom .product-card__text-preview {
    position: relative;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .product-card .product-card__wrapper .product-card__bottom .product-card__text-preview {
    position: relative;
  }
}
.product-card .product-card__wrapper .product-card__bottom .product-card__text-preview.flex-column {
  flex-direction: column;
  gap: 8px;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transform: translateY(101%);
  -moz-transform: translateY(101%);
  -ms-transform: translateY(101%);
  transform: translateY(101%);
  -o-transform: translateY(101%);
  opacity: 0;
  transition: all var(--trasition-duration) ease-in-out;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .border {
  position: absolute;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: var(--colore-testi-2);
  opacity: 0.3;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .border.border-top {
  top: 0;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .border.border-bottom {
  bottom: 0;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .cta-button .cta-button__container .cta-button__bg span {
  background-color: transparent;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: transparent;
}
.product-card .product-card__wrapper .product-card__bottom .product-card__cta .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
}
.lista .collezione-card {
  --padding-laterale-card: 1.8rem;
  text-align: center;
}
.lista .collezione-card p,
.lista .collezione-card span {
  color: var(--colore-testi);
  text-transform: uppercase;
  height: 50px;
  align-content: center;
}
.lista .collezione-card .collezione-card__wrapper {
  position: relative;
  padding: 2rem var(--padding-laterale-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--colore-sfondo-schede);
  height: 100%;
  gap: 1rem;
  border-radius: 1rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .lista .collezione-card .collezione-card__wrapper {
    gap: 0;
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__header {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .lista .collezione-card .collezione-card__wrapper .collezione-card__header {
    flex-direction: column;
    gap: 4px;
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__header .woocommerce-loop-product__link {
  display: block;
  width: 100%;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__header .woocommerce-loop-product__link img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 250px;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description {
  margin: 2rem auto 0 auto;
  width: 75%;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .lista .collezione-card .collezione-card__wrapper .collezione-card__description {
    width: 100%;
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .woocommerce-loop-product__title {
  margin: 0 0 1rem 0;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .woocommerce-loop-product__title span {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  color: var(--colore-testi);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .lista .collezione-card .collezione-card__wrapper .collezione-card__description .woocommerce-loop-product__title span {
    font-size: 1.2rem;
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .price {
  margin: 0.5rem 0;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .price .amount,
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .price .woocommerce-Price-amount {
  color: var(--colore-marrone) !important;
  font-size: 1.1rem;
  font-weight: 600;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .price del .amount {
  color: var(--colore-testi) !important;
  opacity: 0.6;
  font-weight: 400;
  text-decoration: line-through;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .price .woocommerce-Price-currencySymbol {
  color: var(--colore-marrone);
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .star-rating {
  justify-content: center;
  margin: 0.5rem 0;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .star-rating:before {
  color: #ddd;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__description .star-rating span:before {
  color: var(--colore-marrone);
}
@media (max-width: 899px) {
  .lista .collezione-card .collezione-card__wrapper .collezione-card__cta {
    display: block;
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-marrone);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .lista .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
    background-color: var(--colore-testi);
  }
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
  border-radius: 0.4rem;
}
.lista .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.lista .collezione-card + .woocommerce-product-details__short-description,
.lista .collezione-card + p,
.lista .collezione-card + .product-excerpt {
  display: none !important;
}
/*
PER UTILIZZARE QUESTO COMPONENTE IN VARIE PARTI DEL SITO
*/
/* ---------------------------------- */
/* Varianti prodotto personalizzate */
/* ---------------------------------- */
/* Stili di base */
.linphelle-variations-form .variations {
  margin-bottom: 20px;
}
.linphelle-variation-row {
  margin-bottom: 15px;
}
.linphelle-variation-row .label {
  font-size: 1rem;
  margin: 30px 0 10px 0.5rem;
  font-weight: 500;
  text-transform: uppercase;
  font-family: "Oswald";
}
.linphelle-variation-select {
  display: none;
}
/* Stili per i riquadri colore */
.linphelle-color-swatch-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}
.linphelle-color-swatch {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  cursor: pointer;
  border: 1px solid #ddd;
  transition: all 0.3s ease;
  position: relative;
}
.linphelle-color-swatch:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.linphelle-color-swatch.selected {
  border-color: #333;
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.linphelle-color-swatch.selected:after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
  font-weight: bold;
}
.linphelle-color-swatch.unavailable {
  opacity: 0.4;
  cursor: not-allowed;
}
/* Stili per i pulsanti variante */
.linphelle-button-swatch-container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}
.linphelle-button-swatch {
  padding: 10px 16px;
  border: 1px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  min-width: 60px;
  position: relative;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.linphelle-button-swatch:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.linphelle-button-swatch.selected {
  border-color: #333;
  background-color: #333;
  color: white;
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  font-weight: bold;
}
.linphelle-button-swatch.unavailable {
  opacity: 0.4;
  cursor: not-allowed;
}
/* Nasconde completamente i select nativi */
.linphelle-variations-form .variations select,
.linphelle-variation-select {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
/* Responsive */
@media screen and (max-width: 768px) {
  .linphelle-color-swatch {
    width: 35px;
    height: 35px;
  }
  .linphelle-button-swatch {
    padding: 6px 12px;
    min-width: 50px;
  }
}
@media screen and (max-width: 480px) {
  .linphelle-color-swatch-container,
  .linphelle-button-swatch-container {
    justify-content: flex-start;
  }
  .linphelle-color-swatch {
    width: 30px;
    height: 30px;
  }
}
/* === TOOLTIP PER COLOR SWATCHES === */
.linphelle-color-swatch {
  position: relative;
  /* Tooltip container */
  /* Mostra tooltip in hover */
}
.linphelle-color-swatch .color-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
  color: var(--colore-testi);
  border: 1px solid var(--colore-testi);
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  font-family: "Oswald";
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
  z-index: 1000;
  margin-bottom: 10px;
  /* Freccia verso il basso */
  /* Bordo della freccia */
}
.linphelle-color-swatch .color-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-top-color: white;
}
.linphelle-color-swatch .color-tooltip::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: var(--colore-testi);
  z-index: -1;
}
.linphelle-color-swatch:hover .color-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-4px);
}
/* ========================================
   GDPR PAZIENTI STYLES
======================================== */
.column-privacy_consent {
  width: 15%;
}
.column-privacy_consent .dashicons {
  vertical-align: middle;
}
#privacy_consent_log_meta .inside {
  padding: 12px;
}
#privacy_consent_log_meta .consent-log-details p {
  margin: 6px 0;
}
.log-details-content {
  padding: 10px;
  background-color: #f9f9f9;
  border-left: 4px solid #2271b1;
}
#consent-log-modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
#consent-log-modal .modal-content {
  background-color: #fff;
  margin: 10% auto;
  padding: 20px;
  width: 50%;
  max-width: 600px;
  min-width: 300px;
  border-radius: 5px;
  position: relative;
  max-height: 70vh;
  overflow-y: auto;
}
#consent-log-modal .close-modal {
  position: absolute;
  right: 15px;
  top: 10px;
  cursor: pointer;
  font-size: 20px;
}
#consent-log-modal .log-card {
  background-color: #f9f9f9;
  border-radius: 4px;
  padding: 15px;
  margin-bottom: 15px;
  border-left: 4px solid #2271b1;
}
#consent-log-modal .log-section {
  margin-bottom: 10px;
}
#consent-log-modal .log-label {
  font-weight: bold;
  display: inline-block;
  min-width: 120px;
}
#consent-log-modal .log-value {
  display: inline-block;
}
#consent-log-modal .user-agent-details {
  font-size: 12px;
  padding: 8px;
  background-color: #f0f0f0;
  border-radius: 3px;
  margin-top: 5px;
  word-break: break-word;
}
/* ========================================
   TRACKING SPEDIZIONI - WOO CUSTOM ADMIN
======================================== */
.linphelle-tracking-metabox input[type=text] {
  font-family: "Courier New", monospace;
  font-size: 13px;
  padding: 8px;
  border: 2px solid #ddd;
  border-radius: 4px;
  width: 100%;
  margin-top: 5px;
}
.linphelle-tracking-metabox input[type=text]:focus {
  border-color: #6c634e;
  outline: none;
  box-shadow: 0 0 0 2px rgba(108, 99, 78, 0.1);
}
.linphelle-tracking-metabox__box {
  padding: 10px;
  border: 1px solid;
  border-radius: 4px;
  margin: 10px 0;
  font-size: 12px;
}
.linphelle-tracking-metabox__box--active {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}
.linphelle-tracking-metabox__box--pending {
  background-color: #fff3cd;
  border-color: #ffeaa7;
  color: #856404;
}
.linphelle-tracking-metabox__box__link {
  margin: 5px 0 0;
  color: #155724;
  text-decoration: underline;
  display: inline-block;
}
.linphelle-tracking-metabox__hint {
  font-size: 11px;
  color: #666;
  margin-top: 10px;
}
.woocommerce-page .wp-list-table .column-tracking {
  width: 15%;
}
.woocommerce-page .wp-list-table .column-tracking .tracking-status {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
}
.woocommerce-page .wp-list-table .column-tracking .tracking-status--success {
  color: #28a745;
  font-weight: bold;
}
.woocommerce-page .wp-list-table .column-tracking .tracking-status--missing {
  color: #dc3545;
}
.woocommerce-page .wp-list-table .column-tracking .tracking-status code {
  font-family: "Courier New", monospace;
  font-size: 11px;
}
.linphelle-tracking-section {
  margin-top: 20px;
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #f9f9f9;
}
.linphelle-tracking-section__heading {
  margin-top: 0;
}
.linphelle-tracking-section__input {
  width: 100%;
  margin-top: 5px;
  font-family: "Courier New", monospace;
  padding: 8px;
  border: 2px solid #ddd;
  border-radius: 4px;
}
.linphelle-tracking-section__box {
  padding: 10px;
  border: 1px solid;
  border-radius: 4px;
  margin: 10px 0;
  font-size: 12px;
}
.linphelle-tracking-section__box--active {
  background-color: #d4edda;
  border-color: #c3e6cb;
  color: #155724;
}
.linphelle-tracking-section__box--pending {
  background-color: #fff3cd;
  border-color: #ffeaa7;
  color: #856404;
}
.linphelle-tracking-section__box a {
  color: inherit;
  text-decoration: underline;
}
.linphelle-tracking-section__hint {
  font-size: 11px;
  color: #666;
  margin-top: 10px;
}
/* ========================================
   PRESCRIPTION SUCCESS PAGE STYLES
======================================== */
@media print {
  .header,
  .footer,
  .next-steps,
  .share-buttons,
  .purchase-links {
    display: none !important;
  }
  .success-message {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  body * {
    visibility: hidden;
  }
  .success-message,
  .success-message * {
    visibility: visible;
  }
}
.generating-pdf .success-message {
  position: relative;
}
.generating-pdf .success-message::after {
  content: "Generazione PDF in corso...";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 18px;
  font-weight: bold;
  z-index: 10;
}
.next-steps span,
.purchase-links span {
  color: black;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
}
.questionario .share-button.email a {
  background-color: #535353 !important;
}
.homepage {
  background-color: var(--colore-sfondo-1);
}
.homepage section {
  position: relative;
}
.homepage h2,
.homepage h3,
.homepage h4,
.homepage p,
.homepage span {
  color: var(--colore-testi);
}
.homepage .top {
  position: relative;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
}
.homepage .sezione-hero {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
@media (max-width: 899px) {
  .homepage .sezione-hero {
    height: 85vh;
  }
}
.homepage .sezione-hero .intro-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.homepage .sezione-hero .intro-bg .cover-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 30;
}
.homepage .sezione-hero .intro-bg .player-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
.homepage .sezione-hero .intro-bg .player-wrapper .plyr,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__video-wrapper,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__poster {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}
.homepage .sezione-hero .intro-bg .player-wrapper .plyr video,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr iframe,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__video-wrapper video,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__video-wrapper iframe,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__poster video,
.homepage .sezione-hero .intro-bg .player-wrapper .plyr__poster iframe {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -webkit-object-fit: cover;
  -moz-object-fit: cover;
  -ms-object-fit: cover;
  object-fit: cover;
}
.homepage .sezione-hero .intro-relative {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 20;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 899px) {
  .homepage .sezione-hero .intro-relative {
    height: calc(100% - var(--header-height) - 10rem);
    padding-top: calc(var(--header-height) + 10rem);
    gap: 3rem;
  }
}
.homepage .sezione-hero .intro-relative .intro-top {
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  gap: 2.5rem;
}
@media (max-width: 899px) {
  .homepage .sezione-hero .intro-relative .intro-top {
    gap: 1.5rem;
    margin-top: 0;
    align-items: center;
  }
}
.homepage .sezione-hero .intro-relative .intro-top .payoff {
  font-size: 8rem;
  text-align: center;
  color: white;
  font-family: "chillenregular", serif;
  line-height: 6rem;
}
@media (max-width: 899px) {
  .homepage .sezione-hero .intro-relative .intro-top .payoff {
    font-size: 5rem;
    line-height: 4rem;
  }
}
.homepage .sezione-intro {
  width: 100%;
  padding: var(--spaziatura-laterale);
  padding-bottom: 5rem;
}
.homepage .sezione-intro .section__block-text {
  padding-bottom: 0;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-intro .section__block-text {
    padding-top: 5rem;
  }
}
.homepage .sezione-intro .linphelle__pittogramma {
  margin-top: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.homepage .sezione-intro .linphelle__pittogramma .img {
  position: relative;
  width: 15rem;
}
.homepage .sezione-intro .linphelle__pittogramma .img .logo-svg {
  fill: var(--colore-testi);
}
.homepage .sezione-intro .title {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-intro .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.homepage .sezione-intro2 {
  padding: 0 var(--spaziatura-laterale) 0 var(--spaziatura-laterale);
  --image-ratio: calc(722 / 320);
  --image-width: 20vw;
  --slider-height: calc(var(--image-width) * var(--image-ratio));
}
@media (min-width: 900px) and (max-width: 1365px) {
  .homepage .sezione-intro2 {
    padding-bottom: 10rem;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .homepage .sezione-intro2 {
    --image-width: 30vw;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-intro2 {
    --image-width: 50vw;
    padding-bottom: 12.5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-intro2 {
    padding-bottom: 7.5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-intro2 .section__block-text {
    padding-top: 5rem;
    padding-bottom: 7.5rem;
  }
}
.homepage .sezione-titolo_collezione {
  width: 100%;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-titolo_collezione .section__block-text {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}
.homepage .sezione-titolo_collezione .section__head {
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
}
.homepage .sezione-titolo_collezione .section__block-text .sezione__testata {
  width: 50%;
  margin: 0 auto;
}
.homepage .sezione-titolo_collezione .cards {
  position: relative;
  margin: 0 auto;
  width: 24vw;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .homepage .sezione-titolo_collezione .cards {
    width: 35vw;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-titolo_collezione .cards {
    width: 40vw;
  }
}
.homepage .sezione-titolo_collezione .cards .card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.homepage .sezione-titolo_collezione .cards .card.card-1 {
  position: relative;
  z-index: 3;
}
.homepage .sezione-titolo_collezione .cards .card.card-2 {
  transform: translateX(0%) rotate(0deg);
}
.homepage .sezione-titolo_collezione .cards .card.card-2 .card__wrapper {
  transform: scale(0.75);
}
.homepage .sezione-titolo_collezione .cards .card.card-3 {
  transform: translateX(0%) rotate(0deg);
}
.homepage .sezione-titolo_collezione .cards .card.card-3 .card__wrapper {
  transform: scale(0.75);
}
.homepage .sezione-titolo_collezione .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-titolo_collezione .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.homepage .sezione-tecnologie {
  position: relative;
  overflow: visible;
}
.homepage .sezione-tecnologie .section__head {
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
}
.homepage .sezione-tecnologie .title {
  padding-top: 7.5rem;
  padding-bottom: 10rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .title {
    padding-top: 10rem;
    padding-bottom: 2rem;
  }
}
.homepage .sezione-tecnologie .wrapper {
  position: relative;
  height: 100vh;
  width: 100%;
}
.homepage .sezione-tecnologie .sticky {
  --top: 10vh;
  --sum: 25vh;
  position: relative;
  padding-bottom: 20rem;
  margin-top: calc(-0.6 * var(--sum));
  margin-bottom: 20rem;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .homepage .sezione-tecnologie .sticky {
    --top: 0vh;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-tecnologie .sticky {
    padding-bottom: 0;
    margin-bottom: 10rem;
    padding-top: 2rem;
  }
}
.homepage .sezione-tecnologie .sticky .section__block-text {
  position: absolute;
  top: calc(var(--top) + var(--sum));
  padding: 0;
  width: 100%;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .section__block-text {
    position: relative;
    top: 0;
    padding-top: 5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .section__block-text .sezione__testata {
    width: 50vw;
  }
}
.homepage .sezione-tecnologie .sticky .images-scroll {
  --image-ratio: calc(4 / 3);
  --image-width: 22.5vw;
  --image-height: calc(var(--image-width) * var(--image-ratio));
  --top-1: 110vh;
  --top-2: calc(var(--top-1) + var(--image-width) * var(--image-ratio));
  --top-3: calc(var(--top-2) + var(--image-width) * var(--image-ratio));
  --top-4: calc(var(--top-3) + var(--image-width) * var(--image-ratio));
  padding-top: 100vh;
  height: calc(var(--top-4) * 0.95 + var(--image-width) * var(--image-ratio));
  box-sizing: content-box;
}
.homepage .sezione-tecnologie .sticky .images-scroll .image-1 {
  left: var(--spaziatura-laterale);
  right: auto;
  top: var(--top-1);
  width: var(--image-width);
  height: calc(var(--image-width) * var(--image-ratio));
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll .image-1 {
    left: 0;
    right: auto;
    top: 0;
  }
}
.homepage .sezione-tecnologie .sticky .images-scroll .image-2 {
  left: auto;
  right: var(--spaziatura-laterale);
  top: var(--top-2);
  width: var(--image-width);
  height: calc(var(--image-width) * var(--image-ratio));
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll .image-2 {
    left: 0;
    right: auto;
    top: 0;
  }
}
.homepage .sezione-tecnologie .sticky .images-scroll .image-3 {
  left: calc(5 * var(--spaziatura-laterale));
  right: auto;
  top: var(--top-3);
  width: var(--image-width);
  height: calc(var(--image-width) * var(--image-ratio));
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll .image-3 {
    left: 0;
    right: auto;
    top: 0;
  }
}
.homepage .sezione-tecnologie .sticky .images-scroll .image-4 {
  left: auto;
  right: calc(4 * var(--spaziatura-laterale));
  top: var(--top-4);
  width: var(--image-width);
  height: calc(var(--image-width) * var(--image-ratio));
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll .image-4 {
    left: 0;
    right: auto;
    top: 0;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .homepage .sezione-tecnologie .sticky .images-scroll {
    --image-width: 32.5vw;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-tecnologie .sticky .images-scroll {
    --image-width: 30vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll {
    padding-top: 5rem;
    height: auto;
  }
}
.homepage .sezione-tecnologie .sticky .images-scroll .image {
  position: absolute;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-tecnologie .sticky .images-scroll .image {
    --image-width: calc(100% - 2 * var(--spaziatura-laterale));
    position: relative;
    margin: 0 auto var(--spaziatura-laterale) auto;
    padding: 1.5rem;
  }
}
.homepage .sezione-tecnologie .sticky .section__cta-real {
  position: fixed;
  z-index: 3;
}
.homepage .sezione-tecnologie .sticky .section__cta-real .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-dark);
}
.homepage .sezione-tecnologie .sticky .section__cta-real .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
}
.homepage .sezione-tecnologie .sticky .section__cta-real .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-collezione {
    padding-top: 0rem;
    padding-bottom: 10rem;
  }
}
.homepage .sezione-collezione span,
.homepage .sezione-collezione p {
  text-transform: uppercase;
}
.homepage .sezione-collezione .sezione__wrapper {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-collezione .sezione__wrapper {
    height: auto;
  }
}
.homepage .sezione-collezione .section__head {
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
}
.homepage .sezione-collezione .collezione {
  --pt: 5rem;
  --left-wrapper-width: 15vw;
  padding-bottom: 2.5rem;
  padding-top: var(--pt);
  display: flex;
  gap: calc(2 * var(--spaziatura-laterale));
  height: calc(100vh - var(--section-head-height));
}
@media (min-width: 900px) and (max-width: 1365px) {
  .homepage .sezione-collezione .collezione {
    --pt: 2.5rem;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-collezione .collezione {
    --pt: 0;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-collezione .collezione {
    height: auto;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-collezione .collezione .right {
    display: none;
  }
}
.homepage .sezione-collezione .collezione .right .slider {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 1rem;
  height: 100%;
}
.homepage .sezione-collezione .collezione .right .slider .collezione-card {
  --padding-laterale-card: 1.5rem;
  --slides-per-view: 2.8;
  width: calc((100vw - 17px - var(--left-wrapper-width) - 2 * var(--padding-laterale-card) - 3 * var(--spaziatura-laterale)) / var(--slides-per-view));
  flex: 0 0 calc((100vw - 17px - var(--left-wrapper-width) - 2 * var(--padding-laterale-card) - 3 * var(--spaziatura-laterale)) / var(--slides-per-view));
  text-align: center;
}
@media only screen and (min-width: 1024px) and (max-width: 1366px) and (min-height: 1025px) and (orientation: portrait) {
  .homepage .sezione-collezione .collezione .right .slider .collezione-card {
    --slides-per-view: 0.8;
  }
}
@media (max-width: 899px) {
  .homepage .sezione-collezione .collezione .right .slider .collezione-card {
    --slides-per-view: 0.9;
  }
}
.homepage .sezione-collezione .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .sezione-collezione .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.homepage .sezione-collezione .swiper-mobile .swiper-slideshow__outer .control .control__wrapper .control__text span {
  color: var(--colore-testi-2);
}
.homepage .sezione-collezione .swiper-mobile .swiper-wrapper {
  align-items: stretch;
  height: calc(100vh - 2 * var(--section-head-height));
}
@media (max-width: 899px) {
  .homepage .sezione-collezione .swiper-mobile .swiper-wrapper {
    height: auto;
  }
}
.homepage .sezione-collezione .swiper-mobile .swiper-wrapper .swiper-slide {
  height: auto;
}
.homepage .sezione-plus {
  padding-bottom: 12rem;
}
@media (max-width: 899px) {
  .homepage .sezione-plus {
    padding-bottom: 9rem;
  }
}
.homepage .sezione-plus .bottom {
  --width-caratteristica: 20vw;
  --gap: 5vw;
  width: calc(var(--width-caratteristica) * 3 + 2 * var(--gap));
  margin: 0 auto;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .homepage .sezione-plus .bottom {
    --width-caratteristica: 25vw;
    --gap: 2.5vw;
  }
}
.homepage .sezione-plus .bottom .bottom__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 100%));
  gap: var(--gap);
}
@media (max-width: 899px) {
  .homepage .sezione-plus .bottom .bottom__wrapper {
    grid-template-columns: repeat(1, minmax(0, 100%));
    gap: 2rem;
  }
}
.homepage .sezione-plus .bottom .bottom__wrapper .caratteristica .caratteristica__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
  text-align: center;
}
@media (max-width: 899px) {
  .homepage .sezione-plus .bottom .bottom__wrapper .caratteristica .caratteristica__wrapper {
    gap: 0.75rem;
    padding-top: 2rem;
  }
}
.homepage .sezione-plus .bottom .bottom__wrapper .caratteristica .caratteristica__wrapper .caratteristica__testo {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
.homepage .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.homepage .hand {
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-arancio-brand);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .hand {
    font-size: 2.5rem;
  }
}
.homepage .collezione-card {
  --padding-laterale-card: 1.5rem;
  text-align: center;
}
.homepage .collezione-card p,
.homepage .collezione-card span {
  color: var(--colore-testi);
  text-transform: uppercase;
}
.homepage .collezione-card .collezione-card__wrapper {
  position: relative;
  padding: 2rem var(--padding-laterale-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--colore-testi-2-light);
  height: 100%;
  gap: 2rem;
  border-radius: 1rem;
}
.homepage .collezione-card .collezione-card__wrapper .collezione-card__header {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .homepage .collezione-card .collezione-card__wrapper .collezione-card__header {
    flex-direction: column;
    gap: 4px;
  }
}
.homepage .collezione-card .collezione-card__wrapper .collezione-card__description {
  margin: 2rem auto 0 auto;
  width: 75%;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .homepage .collezione-card .collezione-card__wrapper .collezione-card__description {
    width: 100%;
  }
}
@media (max-width: 899px) {
  .homepage .collezione-card .collezione-card__wrapper .collezione-card__cta {
    display: block;
  }
}
.homepage .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-marrone);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .homepage .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
    background-color: var(--colore-testi);
  }
}
.homepage .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
  border-radius: 0.3rem;
}
.homepage .collezione-card .collezione-card__wrapper .collezione-card__cta .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* Rotating Word Styles */
.rotating-word-container {
  display: inline-block;
  color: var(--colore-arancio-brand);
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: lowercase !important;
}
/* ========================================
   AUTH PAGE STYLES
======================================== */
.login-page {
  background-color: var(--colore-sfondo-1);
  min-height: 100vh;
  /* ========================================
      SEZIONE BENEFICI - LOGIN PAGE
  ======================================== */
}
.login-page .sezione-benefits {
  padding: 4rem 0 12rem;
  /* Stili generali per elementi di testo */
}
@media (max-width: 899px) {
  .login-page .sezione-benefits {
    padding-bottom: 9rem;
  }
}
.login-page .sezione-benefits .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .login-page .sezione-benefits .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.login-page .sezione-benefits .bottom {
  --width-caratteristica: 20vw;
  --gap: 5vw;
  width: calc(var(--width-caratteristica) * 3 + 2 * var(--gap));
  margin: 0 auto;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .login-page .sezione-benefits .bottom {
    --width-caratteristica: 25vw;
    --gap: 2.5vw;
  }
}
.login-page .sezione-benefits .bottom .bottom__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gap);
}
@media (max-width: 899px) {
  .login-page .sezione-benefits .bottom .bottom__wrapper {
    grid-template-columns: repeat(1, minmax(0, 100%));
    gap: 2rem;
  }
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
  text-align: center;
}
@media (max-width: 899px) {
  .login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper {
    gap: 0.75rem;
    padding-top: 2rem;
  }
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__numero .hand {
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-arancio-brand);
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__titolo h4 {
  color: var(--colore-testi);
  margin: 0;
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__titolo .uppercase {
  text-transform: uppercase;
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__testo {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 899px) {
  .login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__testo {
    width: 80%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__testo {
    width: 100%;
  }
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__testo span {
  color: var(--colore-testi);
}
.login-page .sezione-benefits .bottom .bottom__wrapper .benefit .benefit__wrapper .benefit__testo .uppercase {
  text-transform: uppercase;
}
.login-page .sezione-benefits h2,
.login-page .sezione-benefits h3,
.login-page .sezione-benefits h4,
.login-page .sezione-benefits p,
.login-page .sezione-benefits span {
  color: var(--colore-testi);
}
.login-page .sezione-benefits .uppercase {
  text-transform: uppercase;
}
.login-page .sezione-benefits .hand {
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-arancio-brand);
}
/* ========================================
   LOGIN HERO SECTION
======================================== */
.login-hero {
  min-height: 300px;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(135deg, var(--colore-testi-2-light), var(--colore-sfondo));
}
.login-hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.login-hero .hero-image .img {
  width: 100%;
  height: 100%;
}
.login-hero .hero-image .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
}
.login-hero .login-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--colore-testi);
  max-width: 600px;
  padding: 0 2rem;
}
.login-hero .login-hero-content h1 {
  margin-bottom: 1rem;
  color: var(--colore-testi);
}
.login-hero .login-hero-content p {
  font-size: 1.1rem;
  opacity: 0.9;
  color: var(--colore-testi);
}
/* ========================================
   AUTH CONTAINER AND FORMS
======================================== */
.auth-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
}
.auth-wrapper {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.auth-tabs {
  display: flex;
  background: var(--colore-testi-2-light);
}
.auth-tabs .auth-tab {
  flex: 1;
  padding: 1.5rem;
  border: none;
  background: none;
  color: var(--colore-testi);
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 3px solid transparent;
}
.auth-tabs .auth-tab span {
  margin-right: 0.5rem;
  font-size: 1.2rem;
  color: var(--colore-testi);
}
.auth-tabs .auth-tab:hover {
  background: rgba(255, 255, 255, 0.5);
}
.auth-tabs .auth-tab.active {
  background: #fff;
  border-bottom-color: var(--colore-testi);
  font-weight: 600;
}
.auth-form-container {
  padding: 2rem;
}
.auth-form-container.hidden {
  display: none;
}
.auth-form-header {
  text-align: center;
  margin-bottom: 2rem;
}
.auth-form-header h2 {
  color: var(--colore-testi);
  margin-bottom: 0.5rem;
}
.auth-form-header p {
  color: var(--colore-testi-light);
  font-size: 0.95rem;
}
/* ========================================
   WOOCOMMERCE FORM OVERRIDES
======================================== */
.woocommerce-form .form-row {
  margin-bottom: 1.5rem;
}
.woocommerce-form .form-row label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--colore-testi);
}
.woocommerce-form .form-row .input-text {
  width: 100%;
  padding: 1rem;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  font-size: 1rem;
  transition: all 0.3s ease;
  background: #fff;
  box-sizing: border-box;
}
.woocommerce-form .form-row .input-text:focus {
  border-color: var(--colore-testi);
  outline: none;
  box-shadow: 0 0 0 3px rgba(108, 99, 78, 0.1);
}
.woocommerce-form .button {
  width: 100%;
  padding: 1rem;
  background: var(--colore-testi);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 1rem;
}
.woocommerce-form .button:hover {
  background: var(--colore-testi-dark);
  transform: translateY(-1px);
}
/* ========================================
   SOCIAL LOGIN SECTION
======================================== */
.social-login {
  margin-top: 2rem;
}
.social-login .divider {
  text-align: center;
  margin: 1.5rem 0;
  position: relative;
}
.social-login .divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e1e5e9;
  z-index: 1;
}
.social-login .divider span {
  background: #fff;
  padding: 0 1rem;
  color: var(--colore-testi-light);
  font-size: 0.9rem;
  position: relative;
  z-index: 2;
}
/* ========================================
   CUSTOM GOOGLE LOGIN BUTTON
======================================== */
.google-login-btn-custom {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 2rem;
  background: #fff;
  border: 2px solid #e1e5e9;
  border-radius: 0.3rem;
  color: var(--colore-testi);
  text-decoration: none;
  font-family: "chillenregular", serif;
  font-size: 1rem;
  font-weight: normal;
  text-transform: none;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: all 0.3s ease;
  gap: 0.75rem;
  box-sizing: border-box;
  overflow: hidden;
}
.google-login-btn-custom::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(108, 99, 78, 0.1), transparent);
  transition: left 0.5s ease;
  z-index: 1;
}
.google-login-btn-custom:hover {
  border-color: var(--colore-testi);
  background: var(--colore-testi-2-light);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 99, 78, 0.15);
}
.google-login-btn-custom:hover::before {
  left: 100%;
}
.google-login-btn-custom:active {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(108, 99, 78, 0.2);
}
.google-login-btn-custom:focus {
  outline: none;
  border-color: var(--colore-testi);
  box-shadow: 0 0 0 3px rgba(108, 99, 78, 0.1);
}
.google-login-btn-custom svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  z-index: 2;
  position: relative;
}
.google-login-btn-custom span {
  z-index: 2;
  font-size: 2rem;
  position: relative;
  color: var(--colore-testi);
  font-family: "chillenregular", serif;
}
.google-login-btn-custom.loading {
  pointer-events: none;
  opacity: 0.7;
}
.google-login-btn-custom.loading svg {
  animation: spin 1s linear infinite;
}
/* ========================================
   FORM ENHANCEMENTS
======================================== */
.form-row-group {
  display: flex;
  gap: 1rem;
}
.form-row-group .form-row-first,
.form-row-group .form-row-last {
  flex: 1;
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  .form-row-group {
    flex-direction: column;
    gap: 0;
  }
}
.form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--colore-testi);
  line-height: 1.4;
}
.optional {
  font-weight: normal;
  color: var(--colore-testi-light);
  font-size: 0.9em;
}
.required {
  color: #e74c3c;
}
.password-notice {
  background: var(--colore-testi-2-light);
  padding: 1rem;
  border-radius: 6px;
  margin: 1rem 0;
  border-left: 4px solid var(--colore-testi);
}
.password-notice p {
  margin: 0;
}
.password-notice p:first-child {
  margin-bottom: 0.5rem;
}
.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.checkbox input[type=checkbox] {
  margin: 0;
  flex-shrink: 0;
  margin-top: 0.2rem;
}
.checkbox span {
  font-size: 0.9rem;
  line-height: 1.4;
}
.checkbox span a {
  color: var(--colore-testi);
  text-decoration: underline;
}
.checkbox span a:hover {
  color: var(--colore-testi-dark);
}
#reg_codice_fiscale {
  text-transform: uppercase !important;
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 768px) {
  .login-hero {
    height: 30vh;
    min-height: 250px;
  }
  .login-hero .login-hero-content {
    padding: 0 1rem;
  }
  .login-hero .login-hero-content h1 {
    font-size: 2rem;
  }
  .auth-container {
    padding: 2rem 1rem;
  }
  .auth-form-container {
    padding: 1.5rem;
  }
  .auth-tabs .auth-tab {
    padding: 1rem;
    font-size: 0.9rem;
  }
  .google-login-btn-custom {
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }
  .google-login-btn-custom svg {
    width: 18px;
    height: 18px;
  }
}
@media (max-width: 480px) {
  .google-login-btn-custom {
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
    letter-spacing: 0.1px;
  }
}
/* ========================================
   ANIMATIONS
======================================== */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.page-marchio {
  position: relative;
  background-color: var(--colore-sfondo-3);
}
.page-marchio .top {
  position: relative;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
}
.page-marchio .sezione-hero {
  position: relative;
  height: 100vh;
}
@media (max-width: 899px) {
  .page-marchio .sezione-hero {
    height: auto;
  }
}
.page-marchio .sezione-hero .hero-image {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}
.page-marchio .sezione-hero .hero-image .img, .page-marchio .sezione-hero .hero-image picture {
  height: 100%;
  width: 100%;
}
.page-marchio .sezione-hero .hero-image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-hero .hero-image {
    height: 85vh;
  }
  .page-marchio .sezione-hero .hero-image img {
    object-fit: cover;
    object-position: center;
  }
}
.page-marchio .sezione-materiali .center {
  position: relative;
}
.page-marchio .sezione-materiali .center .sticky-element {
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0vh;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .sticky-element {
    position: relative;
    padding-top: 5rem;
    height: auto;
  }
}
.page-marchio .sezione-materiali .center .sticky-element .sticky-element__wrapper {
  position: absolute;
  width: 100%;
  top: 50vh;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .sticky-element .sticky-element__wrapper {
    position: relative;
    top: 0;
    transform: none;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .sticky-element .section__block-text {
    padding-top: 0;
    padding-bottom: 0rem;
  }
}
.page-marchio .sezione-materiali .center .sticky-element .section__block-text .sezione__titolo {
  width: 50vw;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .sticky-element .section__block-text .sezione__titolo {
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .sticky-element .section__block-text .sezione__testata {
    width: 50vw;
  }
}
.page-marchio .sezione-materiali .center .images-scroll {
  --image-width: 15vw;
  --image-height: calc(var(--image-width) * 4 / 3);
  --coeff: 1;
  padding-top: 100vh;
  height: calc(320vh + var(--image-width) * 4 / 3);
  box-sizing: content-box;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .page-marchio .sezione-materiali .center .images-scroll {
    --image-width: 20vw;
  }
}
@media (max-width: 899px) {
  .page-marchio .sezione-materiali .center .images-scroll {
    --image-width: 25vw;
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-1 {
  left: var(--spaziatura-laterale);
  right: auto;
  top: 110vh;
  width: calc(var(--image-width) * var(--coeff));
  height: calc(var(--image-width) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-1 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-2 {
  left: auto;
  right: var(--spaziatura-laterale);
  top: 160vh;
  width: calc((var(--image-width) + 5vw) * var(--coeff));
  height: calc((var(--image-width) + 5vw) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-2 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-3 {
  left: calc(5 * var(--spaziatura-laterale));
  right: auto;
  top: 190vh;
  width: calc((var(--image-width) + 2.5vw) * var(--coeff));
  height: calc((var(--image-width) + 2.5vw) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-3 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-4 {
  left: auto;
  right: calc(8 * var(--spaziatura-laterale));
  top: 240vh;
  width: calc((var(--image-width) - 2.5vw) * var(--coeff));
  height: calc((var(--image-width) - 2.5vw) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-4 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-5 {
  left: var(--spaziatura-laterale);
  right: auto;
  top: 270vh;
  width: calc(var(--image-width) * var(--coeff));
  height: calc(var(--image-width) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-5 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image-6 {
  left: auto;
  right: var(--spaziatura-laterale);
  top: 320vh;
  width: calc((var(--image-width) + 5vw) * var(--coeff));
  height: calc((var(--image-width) + 5vw) * 4 / 3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image-6 {
    left: 0;
    right: auto;
    top: 0;
    width: calc(100% - 2 * var(--spaziatura-laterale));
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll {
    padding-top: 5rem;
    height: auto;
  }
}
.page-marchio .sezione-materiali .center .images-scroll .image {
  position: absolute;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-materiali .center .images-scroll .image {
    --image-width: calc(100% - 2 * var(--spaziatura-laterale));
    position: relative;
    margin: 0 auto var(--spaziatura-laterale) auto;
    padding: 1.5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-tecnologia {
    padding-top: 5rem;
  }
}
.page-marchio .sezione-tecnologia .gallery-tecnologia {
  position: relative;
  padding-top: 7.5rem;
  padding-bottom: 15rem;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .page-marchio .sezione-tecnologia .gallery-tecnologia {
    padding-bottom: 10rem;
    padding-top: 0;
  }
}
@media (max-width: 899px) {
  .page-marchio .sezione-tecnologia .gallery-tecnologia {
    padding-bottom: 7.5rem;
    padding-top: 0;
  }
}
.page-marchio .sezione-marchio {
  padding-top: 15rem;
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio {
    padding-top: 7rem;
  }
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .section__block-text {
    padding-bottom: 5rem;
    padding-top: 3rem;
  }
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .section__block-text {
    padding-top: 5rem;
  }
}
.page-marchio .sezione-marchio .sezione-marchio__center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(4 * var(--spaziatura-laterale));
  width: calc(100% - 6 * var(--spaziatura-laterale));
  margin: 0 auto;
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .sezione-marchio__center {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-marchio .sezione-marchio__center {
    gap: 3.75rem;
  }
}
.page-marchio .sezione-marchio .sezione-marchio__center .center__text {
  position: absolute;
  left: 15vw;
  top: 50%;
  width: 15vw;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media (min-width: 900px) and (max-width: 1365px) {
  .page-marchio .sezione-marchio .sezione-marchio__center .center__text {
    width: 20vw;
  }
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .sezione-marchio__center .center__text {
    position: relative;
    width: 75vw;
    top: 0;
    text-align: center;
    left: 0;
    -webkit-transform: translate(0%, 0%);
    -moz-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }
}
.page-marchio .sezione-marchio .sezione-marchio__center .center__image {
  flex: 0 0 25vw;
  width: 25vw;
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .sezione-marchio__center .center__image {
    flex: 0 0 40vw;
    width: 40vw;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-marchio .sezione-marchio__center .center__image {
    flex: 0 0 60vw;
    width: 60vw;
  }
}
.page-marchio .sezione-marchio .sezione-marchio__center .center__cta {
  position: absolute;
  right: 15vw;
  top: 50%;
  -webkit-transform: translate(50%, -50%);
  -moz-transform: translate(50%, -50%);
  -ms-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
@media (max-width: 899px) {
  .page-marchio .sezione-marchio .sezione-marchio__center .center__cta {
    position: relative;
    right: 0;
    top: 0;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.page-marchio .sezione-marchio .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-marchio .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.page-marchio .sezione-certificazioni {
  padding-bottom: 12rem;
}
@media (max-width: 899px) {
  .page-marchio .sezione-certificazioni {
    padding-bottom: 9rem;
  }
}
.page-marchio .sezione-certificazioni .bottom {
  --width-caratteristica: 20vw;
  --gap: 5vw;
  width: calc(var(--width-caratteristica) * 3 + 2 * var(--gap));
  margin: 0 auto;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .page-marchio .sezione-certificazioni .bottom {
    --width-caratteristica: 25vw;
    --gap: 2.5vw;
  }
}
.page-marchio .sezione-certificazioni .bottom .bottom__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 100%));
  gap: var(--gap);
}
@media (max-width: 899px) {
  .page-marchio .sezione-certificazioni .bottom .bottom__wrapper {
    grid-template-columns: repeat(1, minmax(0, 100%));
    gap: 5rem;
  }
}
.page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper {
    gap: 2.5rem;
  }
}
.page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper .product-card {
  flex: 0 0 calc((100% - 2 * var(--gap)) / 3);
  width: calc((100% - 2 * var(--gap)) / 3);
}
@media (max-width: 899px) {
  .page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper .product-card {
    flex: 0 0 50%;
    width: 50%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper .product-card {
    flex: 0 0 100%;
    width: 100%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-certificazioni .bottom .bottom__wrapper .certificazioni .certificazioni__wrapper .product-card__image .image__wrapper {
    width: 55%; /* Imposta la larghezza al 55% su mobile */
    margin: 0 auto;
  }
}
.page-marchio .sezione-certificazioni .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-certificazioni .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.page-marchio .sezione-peculiarita {
  padding-bottom: 10rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita {
    padding-bottom: 5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita .product-card .product-card__wrapper .product-card__image .image__wrapper {
    width: 40vw;
  }
}
.page-marchio .sezione-peculiarita .product-card .product-card__wrapper .product-card__image .image__wrapper img {
  border-radius: 1rem;
}
.page-marchio .sezione-peculiarita .sezione__wrapper .top {
  margin-bottom: 12.5rem;
}
@media only screen and (min-width: 0px) and (max-device-width: 743px) and (orientation: portrait) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .top {
    margin-bottom: 5rem;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .top .contatore-prodotti {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (min-width: 0px) and (max-device-width: 743px) and (orientation: portrait) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .top .contatore-prodotti {
    padding-top: 7.5rem;
    position: relative;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .section__block-text {
  text-align: center;
  align-items: center;
  padding-bottom: 0;
  width: 100%;
}
.page-marchio .sezione-peculiarita .sezione__wrapper .section__block-text .sezione__titolo {
  width: 25vw;
  margin: 0;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .section__block-text .sezione__titolo {
    width: 100%;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing {
  --gap: var(--spaziatura-laterale);
  position: relative;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: auto;
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row {
  display: flex;
  gap: var(--gap);
  padding-bottom: var(--gap);
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row {
    width: calc(100% - var(--gap));
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row {
    width: 100%;
    flex-wrap: wrap;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--1.row--single {
  justify-content: center;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--1.row--single {
    justify-content: space-between;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--2 {
  justify-content: flex-end;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--2 {
    justify-content: space-between;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--2.row--single {
  justify-content: center;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--2.row--single {
    justify-content: space-between;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--3 {
  justify-content: space-between;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--3 {
    justify-content: space-between;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--3.row--single {
  justify-content: center;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row.row--3.row--single {
    justify-content: space-between;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row .product-card {
  flex: 0 0 calc((100% - 2 * var(--gap)) / 3);
  width: calc((100% - 2 * var(--gap)) / 3);
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row .product-card {
    flex: 0 0 50%;
    width: 50%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row .product-card {
    flex: 0 0 100%;
    width: 100%;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .bottom {
  position: relative;
  margin-top: -10rem;
  margin-right: var(--spaziatura-laterale);
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom {
    align-items: flex-start;
    width: calc(100% - 2 * var(--spaziatura-laterale));
    margin: 7.5rem auto 0 auto;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__logo {
  width: 10vw;
  margin-bottom: 7.5rem;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__logo {
    width: 20vw;
    margin-bottom: 5rem;
    align-self: flex-end;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__logo {
    width: 10rem;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi {
  width: 40vw;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi {
    width: 100%;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi .bottom__text {
  margin-bottom: 3.75rem;
  width: 20vw;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi .bottom__text {
    width: 100%;
  }
}
.page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi .bottom__subtext {
  width: 20vw;
}
@media (max-width: 899px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi .bottom__subtext {
    width: 50%;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .page-marchio .sezione-peculiarita .sezione__wrapper .bottom .bottom__testi .bottom__subtext {
    width: 100%;
  }
}
.contact-page {
  background-color: var(--colore-testi-2);
}
.contact-page section {
  position: relative;
}
.contact-page h1, .contact-page h2, .contact-page h3, .contact-page h4, .contact-page p, .contact-page span {
  color: var(--colore-testi);
}
.sezione-titolo {
  padding-top: 15rem;
}
@media (max-width: 899px) {
  .sezione-titolo {
    padding-top: 7rem;
  }
}
@media (max-width: 899px) {
  .sezione-titolo .section__block-text {
    padding-bottom: 5rem;
    padding-top: 3rem;
  }
}
@media (max-width: 899px) {
  .sezione-titolo .section__block-text {
    padding-top: 5rem;
  }
}
.sezione-titolo .sezione-titolo__center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(4 * var(--spaziatura-laterale));
  width: calc(100% - 6 * var(--spaziatura-laterale));
  margin: 0 auto;
}
@media (max-width: 899px) {
  .sezione-titolo .sezione-titolo__center {
    flex-direction: column;
    align-items: center;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-titolo .sezione-titolo__center {
    gap: 3.75rem;
  }
}
.sezione-titolo .sezione-titolo__center .center__text {
  position: absolute;
  left: 15vw;
  top: 50%;
  width: 15vw;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media (min-width: 900px) and (max-width: 1365px) {
  .sezione-titolo .sezione-titolo__center .center__text {
    width: 20vw;
  }
}
@media (max-width: 899px) {
  .sezione-titolo .sezione-titolo__center .center__text {
    position: relative;
    width: 75vw;
    top: 0;
    text-align: center;
    left: 0;
    -webkit-transform: translate(0%, 0%);
    -moz-transform: translate(0%, 0%);
    -ms-transform: translate(0%, 0%);
    transform: translate(0%, 0%);
  }
}
.sezione-titolo .title {
  padding-top: 1.5rem;
  padding-bottom: 0rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-titolo .title {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
/* Hero Section */
.sezione-hero.contact-hero {
  position: relative;
  width: 100%;
  height: 60vh;
  min-height: 500px;
  overflow: hidden;
}
.sezione-hero.contact-hero .hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.sezione-hero.contact-hero .hero-bg .cover-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 30;
}
.sezione-hero.contact-hero .hero-bg .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sezione-hero.contact-hero .hero-bg .hero-image .img {
  width: 100%;
  height: 100%;
}
.sezione-hero.contact-hero .hero-bg .hero-image .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sezione-hero.contact-hero .hero-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 20;
  padding: 0 var(--spaziatura-laterale);
}
.sezione-hero.contact-hero .hero-content .hero-text {
  text-align: center;
}
.sezione-hero.contact-hero .hero-content .hero-text .hero-title {
  font-size: 4rem;
  line-height: 4.5rem;
  color: #fff;
  font-family: "chillenregular", serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
@media (max-width: 899px) {
  .sezione-hero.contact-hero .hero-content .hero-text .hero-title {
    font-size: 3rem;
    line-height: 3.5rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-hero.contact-hero .hero-content .hero-text .hero-title {
    font-size: 2.2rem;
    line-height: 2.8rem;
  }
}
/* AI Assistant Section */
.sezione-ai-assistant {
  padding: 7.5rem var(--spaziatura-laterale);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-ai-assistant {
    padding: 5rem var(--spaziatura-laterale);
  }
}
.sezione-ai-assistant .ai-container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.sezione-ai-assistant .ai-container .ai-header {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-ai-assistant .ai-container .ai-header {
    margin-bottom: 2rem;
  }
}
.sezione-ai-assistant .ai-container .ai-header .titolo-xl {
  margin-bottom: 1rem;
}
.sezione-ai-assistant .ai-container .ai-header .ai-subtitle {
  font-size: 1.2rem;
  opacity: 0.8;
  padding: 2rem 0 0 0;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-ai-assistant .ai-container .ai-header .ai-subtitle {
    font-size: 1rem;
  }
}
.sezione-ai-assistant .ai-container .ai-placeholder {
  background: rgba(255, 255, 255, 0.1);
  border: 2px dashed var(--colore-testi);
  border-radius: 12px;
  padding: 4rem 2rem;
  max-width: 50rem;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-ai-assistant .ai-container .ai-placeholder {
    padding: 3rem 1.5rem;
  }
}
.sezione-ai-assistant .ai-container .ai-placeholder .ai-widget-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.sezione-ai-assistant .ai-container .ai-placeholder .ai-widget-placeholder .ai-icon {
  width: 48px;
  height: 48px;
  color: var(--colore-testi);
  opacity: 0.6;
}
.sezione-ai-assistant .ai-container .ai-placeholder .ai-widget-placeholder p {
  font-size: 1.1rem;
  opacity: 0.7;
  margin: 0;
}
/* Contact Cards Section */
.sezione-contact-cards {
  padding: 7.5rem var(--spaziatura-laterale);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-contact-cards {
    padding: 5rem var(--spaziatura-laterale);
  }
}
.sezione-contact-cards .contact-cards-container {
  max-width: 1400px;
  margin: 0 auto;
}
.sezione-contact-cards .contact-cards-container .contact-cards-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media (max-width: 899px) {
  .sezione-contact-cards .contact-cards-container .contact-cards-wrapper {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
/* Contact Card Styles */
.contact-card {
  background: #fff6f6;
  border-radius: 4rem;
  overflow: hidden;
  transition: all 0.5s ease;
}
.contact-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
  background: white;
}
.contact-card .contact-card__wrapper {
  padding: 3rem 2rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .contact-card .contact-card__wrapper {
    padding: 2.5rem 1.5rem;
  }
}
.contact-card .contact-card__icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}
.contact-card .contact-card__icon svg {
  width: 48px;
  height: 48px;
}
.contact-card .contact-card__content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.contact-card .contact-card__title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  font-family: "chillenregular", serif;
}
.contact-card .contact-card__subtitle {
  font-size: 1rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.3rem;
}
.contact-card .contact-card__info {
  margin-bottom: 1.5rem;
}
.contact-card .contact-card__info .contact-link {
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-block;
}
.contact-card .contact-card__info .contact-link:hover {
  transform: scale(1.05);
}
.contact-card .contact-card__description-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.contact-card .contact-card__description {
  font-size: 1.1rem;
  line-height: 1.5;
  margin-top: auto;
  height: 50px;
  display: flex;
  align-items: center;
  font-weight: 500;
}
/* Specific Card Styles */
.phone-card .contact-card__icon {
  background-color: var(--colore-blu);
  color: #fff;
}
.phone-card .contact-card__title,
.phone-card .contact-link {
  color: var(--colore-testi);
}
.phone-card:hover .contact-card__icon {
  transform: scale(1.1) rotate(5deg);
}
.email-card .contact-card__icon {
  background-color: var(--colore-blu);
  color: #fff;
}
.email-card .contact-card__title,
.email-card .contact-link {
  color: var(--colore-testi);
}
.email-card:hover .contact-card__icon {
  transform: scale(1.1) rotate(-5deg);
}
.whatsapp-card .contact-card__icon {
  background: #1dcf1e;
  color: #fff;
}
.whatsapp-card .contact-card__title,
.whatsapp-card .contact-link {
  color: var(--colore-testi);
}
.whatsapp-card:hover .contact-card__icon {
  transform: scale(1.1) rotate(5deg);
}
/* Responsive Adjustments */
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .contact-card .contact-card__icon {
    width: 60px;
    height: 60px;
    margin-bottom: 1.5rem;
  }
  .contact-card .contact-card__icon svg {
    width: 36px;
    height: 36px;
  }
  .contact-card .contact-card__title {
    font-size: 1.3rem;
  }
  .contact-card .contact-card__info .contact-link {
    font-size: 1.2rem;
  }
}
/* Hero Section */
.info-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 300px;
  overflow: hidden;
  margin-bottom: 2rem;
}
.info-hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.info-hero .hero-image .img {
  width: 100%;
  height: 100%;
}
.info-hero .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.info-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  color: #fff;
  z-index: 2;
}
.info-hero-content h1 {
  font-size: 10rem;
  margin: 0 0 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
  text-align: center;
}
/* Stili per la pagina Info */
.info-wrapper {
  padding: 5rem;
  height: 100vh;
}
.info-title {
  margin-bottom: 30px;
  text-align: center;
}
/* Stili per la sidebar */
.info-sidebar {
  margin-bottom: 30px;
  background-color: #f8f8f8;
  border-radius: 5px;
  overflow: hidden;
}
.info-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.info-sidebar li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #eee;
}
.info-sidebar li:last-child {
  border-bottom: none;
}
.info-sidebar a {
  display: block;
  padding: 12px 15px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s ease;
}
.info-sidebar a:hover {
  background-color: #f1f1f1;
  color: var(--colore-marrone);
}
.info-sidebar a.active {
  background-color: var(--colore-marrone);
  color: #fff;
  font-weight: bold;
}
/* Stili per il contenuto */
.info-content {
  background-color: #fff;
  border-radius: 5px;
  padding: 20px;
}
.info-content h3 {
  margin-top: 1.5rem;
}
.info-content p,
.info-content h1,
.info-content h2,
.info-content h3 {
  color: var(--colore-marrone);
}
.info-section {
  display: none;
  line-height: 1.5rem;
}
.info-section.active {
  display: block;
  animation: fadeIn 0.5s ease;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Assicurati che su desktop la griglia funzioni correttamente */
@media (min-width: 992px) {
  .col-25 {
    float: left;
    width: 25%;
    padding-right: 20px;
  }
  .col-75 {
    float: left;
    width: 75%;
  }
}
/* Responsive per tablet */
@media (max-width: 991px) and (min-width: 769px) {
  .tab-30 {
    float: left;
    width: 30%;
    padding-right: 20px;
  }
  .tab-70 {
    float: left;
    width: 70%;
  }
}
/* Responsive per mobile */
@media (max-width: 768px) {
  .sma-100 {
    width: 100%;
    float: none;
  }
  .info-sidebar {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.error404 {
  background-color: var(--colore-sfondo-1);
}
.error404 section {
  position: relative;
}
.error404 h2, .error404 h3, .error404 h4, .error404 p, .error404 span {
  color: var(--colore-testi);
}
.error404 .sezione-intro {
  width: 100%;
  padding: var(--spaziatura-laterale);
  padding-bottom: 5rem;
}
.error404 .sezione-intro .blocco-testo {
  padding: 20rem;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5rem;
  text-align: center;
}
.error404 .sezione-intro .blocco-testo .titolo {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  font-size: 14rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .error404 .sezione-intro .blocco-testo .titolo {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
.error404 .sezione-intro .blocco-testo .sottotitolo {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  text-align: center;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .error404 .sezione-intro .blocco-testo .sottotitolo {
    padding-top: 0.5rem;
    padding-bottom: 0rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .error404 .sezione-intro .blocco-testo {
    padding: 12rem 0 0 0;
    gap: 2rem;
  }
}
.dash-medico {
  background-color: aliceblue;
  /* === HEADER DASHBOARD === */
  /* === SEZIONI DASHBOARD === */
  /* === STATISTICHE === */
  /* === AZIONI RAPIDE === */
  /* === TABELLE === */
  /* === FORM GENERICI === */
  /* === QUESTIONARIO === */
  /* === SELEZIONE PRODOTTI === */
  /* === DETTAGLIO PRESCRIZIONE === */
  /* === MODAL BASE === */
  /* === HEADER DEL MODAL === */
  /* === BODY DEL MODAL === */
  /* === FORM NUOVO PAZIENTE === */
  /* === PULSANTE CHIUSURA MODAL === */
  /* === RESPONSIVE === */
  /* === STATI PARTICOLARI === */
  /* === ANIMAZIONE SUCCESSO === */
}
.dash-medico .dashboard-medico-header {
  background-color: #f1f1f1;
  padding: 220px 0 20px 0;
  margin-bottom: 30px;
}
.dash-medico .dashboard-medico-header-title {
  color: aliceblue;
  display: flex;
  justify-content: center;
  text-align: center;
  text-transform: uppercase;
}
.dash-medico .dashboard-medico .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 0 10rem 0;
  width: 100%;
}
.dash-medico .dashboard-section {
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 5px;
  padding: 3rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 899px) {
  .dash-medico .dashboard-section {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: center;
    flex-direction: row;
  }
}
.dash-medico .dashboard-section h2 {
  margin-top: 0;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
  color: #333;
}
.dash-medico .messaggio-dashboard {
  background-color: #d4edda;
  color: #155724;
  padding: 15px;
  border-radius: 5px;
  margin-bottom: 20px;
  border: 1px solid #c3e6cb;
}
.dash-medico .stats-grid {
  display: flex;
  gap: 1.5rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.dash-medico .stat-box {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: center;
  padding: 15px;
  background: #f9f9f9;
  border-radius: 5px;
  border-left: 4px solid #2271b1;
}
.dash-medico .stat-icon {
  margin-right: 15px;
  font-size: 24px;
  color: #2271b1;
}
.dash-medico .stat-icon .dashicons {
  color: var(--colore-testi-dark);
  width: 32px;
  height: 32px;
  font-size: 32px;
}
.dash-medico .stat-value {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  color: #333;
}
.dash-medico .stat-label {
  font-size: 14px;
  color: #666;
}
.dash-medico .actions-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.dash-medico .action-box {
  flex: 1;
  min-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  background: #f9f9f9;
  border-radius: 5px;
  text-decoration: none;
  color: #333;
  transition: all 0.3s ease;
  border: 1px solid #ddd;
}
.dash-medico .action-box:hover {
  background: #f1f1f1;
  border-color: #bbb;
}
.dash-medico .action-icon {
  margin-right: 15px;
  font-size: 24px;
  color: #2271b1;
}
.dash-medico .action-icon .dashicons {
  width: 32px;
  height: 32px;
  font-size: 32px;
}
.dash-medico .action-title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 5px;
}
.dash-medico .action-desc {
  font-size: 14px;
  color: #666;
}
.dash-medico .table-responsive {
  overflow-x: auto;
}
.dash-medico .dashboard-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
}
.dash-medico .dashboard-table th,
.dash-medico .dashboard-table td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
.dash-medico .dashboard-table th {
  background-color: #f5f5f5;
  font-weight: 600;
}
.dash-medico .dashboard-table tr:hover {
  background-color: #f9f9f9;
}
.dash-medico .status-used {
  display: inline-block;
  padding: 3px 8px;
  background-color: #d4edda;
  color: #155724;
  border-radius: 3px;
}
.dash-medico .status-pending {
  display: inline-block;
  padding: 3px 8px;
  background-color: #fff3cd;
  color: #856404;
  border-radius: 3px;
}
.dash-medico .form-prescrizione {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.dash-medico .form-group {
  width: 100%;
  margin-bottom: 25px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.dash-medico .form-group label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
}
.dash-medico .form-group select {
  width: 100%;
  max-width: 400px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #fff;
  font-size: 16px;
}
.dash-medico .form-group input[type=text],
.dash-medico .form-group input[type=email],
.dash-medico .form-group input[type=tel] {
  width: 20%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.dash-medico .form-actions {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 30px;
}
.dash-medico .button-secondary,
.dash-medico .button-primary {
  padding: 12px 25px;
  border-radius: 4px;
  font-weight: 500;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.3s ease;
}
.dash-medico .button-secondary {
  background-color: #f1f1f1;
  color: #333;
  border: 1px solid #ddd;
}
.dash-medico .button-secondary:hover {
  background-color: #e5e5e5;
}
.dash-medico .button-primary {
  background-color: #2271b1;
  color: white;
}
.dash-medico .button-primary:hover {
  background-color: #135e96;
}
.dash-medico .form-questionario {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}
.dash-medico .prodotti-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.dash-medico .prodotto-item {
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
  transition: all 0.3s ease;
}
.dash-medico .prodotto-item:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.dash-medico .prodotto-item label {
  cursor: pointer;
  display: block;
}
.dash-medico .prodotto-item input[type=radio] {
  position: absolute;
  opacity: 0;
}
.dash-medico .prodotto-item input[type=radio]:checked + .prodotto-info {
  background-color: #f0f9ff;
  border-color: #2271b1;
}
.dash-medico .prodotto-info {
  padding: 15px;
}
.dash-medico .prodotto-info img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  margin-bottom: 10px;
}
.dash-medico .prodotto-info h3 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 16px;
}
.dash-medico .prodotto-info .prezzo {
  color: #e03131;
  font-weight: bold;
}
.dash-medico .link-dettaglio {
  display: inline-block;
  margin-top: 10px;
  font-size: 14px;
}
.dash-medico .prescrizione-dettaglio {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 20px;
}
.dash-medico .prescrizione-info,
.dash-medico .prodotto-prescritto,
.dash-medico .caratteristiche-prescrizione,
.dash-medico .condivisione-prescrizione {
  background: #f9f9f9;
  padding: 15px;
  border-radius: 5px;
  margin-top: 20px;
}
.dash-medico .caratteristiche-table {
  width: 100%;
  border-collapse: collapse;
}
.dash-medico .caratteristiche-table th,
.dash-medico .caratteristiche-table td {
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
.dash-medico .caratteristiche-table th {
  background-color: #f5f5f5;
}
.dash-medico .opzioni-condivisione {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}
.dash-medico .button-email {
  background-color: #0072c6;
  color: white;
}
.dash-medico .button-whatsapp {
  background-color: #25d366;
  color: white;
}
.dash-medico .button-print {
  background-color: #333;
  color: white;
}
.dash-medico .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  background-color: rgba(0, 0, 0, 0.8);
}
.dash-medico .modal.active {
  opacity: 1;
  visibility: visible;
}
.dash-medico .modal.active .modal-content {
  transform: scale(1);
}
.dash-medico .modal-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  transform: scale(0.8);
  transition: transform 0.3s ease;
  width: 90%;
  max-width: 600px;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.dash-medico .modal-header {
  padding: 2rem 2rem 1rem 2rem;
  text-align: center;
  border-bottom: 1px solid #eee;
}
.dash-medico .modal-header h2 {
  margin: 0;
  color: var(--colore-testi);
  font-size: 1.5rem;
  font-weight: 600;
}
.dash-medico .modal-body {
  padding: 2rem;
  flex: 1;
  overflow-y: auto;
}
.dash-medico .form-nuovo-paziente {
  width: 100%;
}
.dash-medico .form-nuovo-paziente .form-fields {
  margin-bottom: 2rem;
}
.dash-medico .form-nuovo-paziente .form-group {
  width: 100%;
  margin-bottom: 1.5rem;
}
.dash-medico .form-nuovo-paziente .form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: var(--colore-testi);
  font-size: 14px;
}
.dash-medico .form-nuovo-paziente .form-group input[type=text],
.dash-medico .form-nuovo-paziente .form-group input[type=email],
.dash-medico .form-nuovo-paziente .form-group input[type=tel] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 16px;
  color: var(--colore-testi);
  transition: border-color 0.3s ease;
  box-sizing: border-box;
}
.dash-medico .form-nuovo-paziente .form-group input[type=text]:focus,
.dash-medico .form-nuovo-paziente .form-group input[type=email]:focus,
.dash-medico .form-nuovo-paziente .form-group input[type=tel]:focus {
  outline: none;
  border-color: var(--colore-testi);
  box-shadow: 0 0 0 2px rgba(51, 51, 51, 0.1);
}
.dash-medico .form-nuovo-paziente .consent-group {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.dash-medico .form-nuovo-paziente .consent-group input[type=checkbox] {
  margin-top: 4px;
  flex-shrink: 0;
}
.dash-medico .form-nuovo-paziente .consent-group label {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 0;
}
.dash-medico .form-nuovo-paziente .form-actions {
  width: 100%;
  text-align: center;
  padding-top: 1rem;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: center;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta {
  margin: 0;
  width: auto;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button {
  margin: 0 auto;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  width: 100%;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button button:disabled .cta-button__bg span {
  background-color: #ccc !important;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button button:disabled:hover .cta-button__bg span {
  background-color: #ccc !important;
}
.dash-medico .form-nuovo-paziente .form-actions .section__cta .cta-button .cta-button__text .cta-txt {
  font-size: 14px;
  letter-spacing: 0.5px;
}
.dash-medico .close-modal {
  position: absolute;
  top: 15px;
  right: 20px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  cursor: pointer;
  padding: 5px;
  color: #666;
  transition: all 0.3s ease;
  z-index: 10;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
}
.dash-medico .close-modal:hover {
  background: rgb(255, 255, 255);
  color: #000;
  transform: scale(1.1);
}
@media (max-width: 767px) {
  .dash-medico {
    /* Modal responsive */
  }
  .dash-medico .stats-grid,
  .dash-medico .actions-grid {
    flex-direction: column;
  }
  .dash-medico .stat-box,
  .dash-medico .action-box {
    width: 100%;
  }
  .dash-medico .prescrizione-dettaglio {
    grid-template-columns: 1fr;
  }
  .dash-medico .form-questionario {
    grid-template-columns: 1fr;
  }
  .dash-medico .modal-content {
    width: 95%;
    max-width: none;
    margin: 1rem;
    max-height: calc(100vh - 2rem);
  }
  .dash-medico .modal-header {
    padding: 1.5rem 1rem 1rem 1rem;
  }
  .dash-medico .modal-header h2 {
    font-size: 1.25rem;
  }
  .dash-medico .modal-body {
    padding: 1.5rem 1rem;
  }
  .dash-medico .form-novo-paziente .form-group {
    margin-bottom: 1.25rem;
  }
  .dash-medico .form-novo-paziente .form-group input[type=text],
  .dash-medico .form-novo-paziente .form-group input[type=email],
  .dash-medico .form-novo-paziente .form-group input[type=tel] {
    padding: 10px 12px;
    font-size: 16px;
  }
  .dash-medico .form-novo-paziente .consent-group {
    gap: 10px;
  }
  .dash-medico .form-novo-paziente .consent-group label {
    font-size: 12px;
    font-family: "Homemade Apple", cursive !important;
    font-weight: 400;
    font-style: normal;
  }
}
.dash-medico #submit_paziente:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.dash-medico .add-patient-link {
  margin-top: 10px;
  text-align: center;
}
.dash-medico .add-patient-link a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--colore-testi);
  text-decoration: none;
  font-size: 14px;
  padding: 8px 12px;
  border: 1px dashed #ddd;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.dash-medico .add-patient-link a:hover {
  color: var(--colore-testi);
  border-color: var(--colore-testi);
  background-color: rgba(var(--colore-testi-rgb), 0.05);
}
.dash-medico .add-patient-link a .dashicons {
  font-size: 16px;
  width: 16px;
  height: 16px;
}
.dash-medico .success-animation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  border-radius: 8px;
}
.dash-medico .success-animation.show {
  animation: fadeInSuccess 0.3s ease-in;
}
.dash-medico .success-animation.hide {
  animation: fadeOutSuccess 0.3s ease-out;
}
.dash-medico .success-checkmark {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: block;
  stroke-width: 2;
  stroke: #4bb543;
  stroke-miterlimit: 10;
  box-shadow: inset 0px 0px 0px #4bb543;
  animation: fill 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both;
  position: relative;
  top: 5px;
  right: 5px;
  margin: 0 auto;
}
.dash-medico .success-checkmark svg {
  width: 80px;
  height: 80px;
}
.dash-medico .checkmark-circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  stroke-width: 2;
  stroke-miterlimit: 10;
  stroke: #4bb543;
  fill: #fff;
  animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}
.dash-medico .checkmark-check {
  transform-origin: 50% 50%;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  stroke-width: 3;
  stroke: #4bb543;
  animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}
@keyframes stroke {
  100% {
    stroke-dashoffset: 0;
  }
}
@keyframes scale {
  0%, 100% {
    transform: none;
  }
  50% {
    transform: scale3d(1.1, 1.1, 1);
  }
}
@keyframes fill {
  100% {
    box-shadow: inset 0px 0px 0px 30px #4bb543;
  }
}
@keyframes fadeInSuccess {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeOutSuccess {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
/* === HEADER QUESTIONARIO === */
.questionario {
  /* Progress Bar */
  /* Step Container */
  /* Options Grid */
  /* Icone specifiche */
  /* Action Buttons */
  /* Results Section */
  /* ========================================
  SUCCESS MESSAGE - PRESCRIZIONE
  ======================================== */
  /* ========== HEADER SECTION ========== */
  /* ========== CONTENT SECTION ========== */
  /* ========== INFO SECTION ========== */
  /* ========== QR CODE NELLA PRESCRIZIONE ========== */
  /* ========== ACTIONS SECTION ========== */
  /* ========== PURCHASE SECTION ========== */
  /* ========== FOOTER SECTION ========== */
  /* ========== RESPONSIVE ADJUSTMENTS ========== */
  /* ========== PRINT STYLES ========== */
  /* Stili per opzioni non disponibili */
  /* === TRANSIZIONI STEP === */
  /* === TRANSIZIONI STEP FULLSCREEN === */
}
.questionario .questionario-header {
  background-color: #f1f1f1;
  padding: 220px 0 20px 0;
  margin-bottom: 30px;
}
.questionario .questionario-header-title {
  color: #ffe8d1;
  display: flex;
  justify-content: center;
  text-align: center;
}
.questionario .questionario .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}
.questionario .progress-container {
  width: 100%;
  height: 8px;
  background-color: #eee;
  border-radius: 4px;
  margin-bottom: 40px;
  overflow: hidden;
}
.questionario .progress-bar {
  height: 100%;
  background-color: #4caf50;
  border-radius: 4px;
  transition: width 0.5s ease;
}
.questionario .step-container {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 0 10rem 0;
}
@media (max-width: 899px) {
  .questionario .step-container {
    padding: 5rem 1rem 10rem 1rem;
  }
}
.questionario .step-container h2 {
  font-size: 28px;
  margin-bottom: 10px;
}
.questionario .step-container p {
  font-size: 18px;
  color: #666;
  margin-bottom: 30px;
}
.questionario .options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}
.questionario .options-grid-small {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.questionario .option-card {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.questionario .option-card:hover {
  transform: translateY(-5px);
  border-color: #aaa;
}
.questionario .option-card.selected {
  border-color: #00ff0a;
  box-shadow: 0 0 0 2px rgb(0, 255, 10);
}
.questionario .option-card input[type=radio] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.questionario .option-content {
  padding: 20px;
  text-align: center;
  background-color: #1c1c1c;
}
.questionario .option-content_image {
  margin: 0 auto 15px;
}
.questionario .option-content_icon {
  margin: 0 auto 15px;
  width: 30%;
}
.questionario .option-icon.preventiva {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%234CAF50" d="M12 2l1.5 4h4l-3 3 1 4-3.5-2-3.5 2 1-4-3-3h4z"/></svg>');
}
.questionario .option-icon.terapeutica {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%232196F3" d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-2 14l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"/></svg>');
}
.questionario .option-icon.antitrombo {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23F44336" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>');
}
.questionario .option-card h3 {
  font-size: 22px;
}
.questionario .option-card p {
  color: #d7d7d7;
  margin: 0;
  font-size: 16px;
}
.questionario .option-card.small .option-content {
  padding: 15px;
}
.questionario .option-card.small h3 {
  font-size: 28px;
  margin: 0;
}
.questionario .action-buttons {
  display: flex;
  justify-content: space-between;
  margin: 50px 0 100px 0;
}
.questionario .back-button,
.questionario .next-button {
  padding: 12px 24px;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}
.questionario .back-button {
  background-color: #f1f1f1;
  color: #333;
  border: 1px solid #ddd;
}
.questionario .next-button {
  background-color: #4caf50;
  color: white;
  border: none;
  font-weight: bold;
}
.questionario .back-button:hover {
  background-color: #e5e5e5;
}
.questionario .next-button:hover {
  background-color: #3e8e41;
}
.questionario .results-section {
  max-width: 1200px;
  margin: 0 auto;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  text-align: center;
}
.questionario .product-recommendation {
  display: grid;
  justify-content: center;
  padding: 8rem;
  background-color: antiquewhite;
  border-radius: 2rem;
  margin: 2rem auto 8rem;
}
.questionario .product-recommendation h3,
.questionario .product-recommendation p,
.questionario .product-recommendation span {
  color: black;
}
.questionario .product-recommendation h3 {
  margin-bottom: 2rem;
  text-transform: uppercase;
}
.questionario .product-recommendation .product-details {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  flex-direction: column;
}
.questionario .product-recommendation .product-details img {
  width: 300px;
}
.questionario .product-recommendation .product-info p {
  margin: 0 0 1rem 0;
}
.questionario .product-recommendation .product-info h3 {
  font-size: 34px;
}
.questionario .product-recommendation .product-price span {
  font-size: 20px;
}
.questionario .product-recommendation .view-product {
  color: #7b3b0f;
}
.questionario .products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  margin: 30px 0;
}
.questionario .product-selection {
  cursor: pointer;
  display: block;
  width: 100%;
  height: 100%;
}
.questionario .product-selection input[type=radio] {
  position: absolute;
  opacity: 0;
}
.questionario .product-selection input[type=radio]:checked + .product-info {
  border-color: #4caf50;
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.5);
}
.questionario .product-info {
  padding: 15px;
  border: 2px solid transparent;
  border-radius: 8px;
}
.questionario .product-image {
  margin-bottom: 15px;
  text-align: center;
}
.questionario .product-image img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}
.questionario .product-info h3 {
  font-size: 18px;
  margin-bottom: 10px;
}
.questionario .product-price {
  color: #e03131;
  font-weight: bold;
  margin-bottom: 10px;
}
.questionario .product-desc {
  font-size: 14px;
  color: #666;
}
.questionario .no-products {
  text-align: center;
  padding: 30px;
  background-color: #f9f9f9;
  border-radius: 10px;
  margin: 30px 0;
}
.questionario .success-container {
  max-width: 1000px;
  margin: 60px auto;
  padding: 0 20px;
}
.questionario .success-message {
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  border: 1px solid #e8f5e8;
}
.questionario .success-header {
  background: linear-gradient(135deg, #f0fff0 0%, #e8f5e8 100%);
  padding: 40px 30px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid #e0ede0;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-header {
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
    gap: 20px;
  }
}
.questionario .success-icon {
  width: 80px;
  height: 80px;
  background-color: #4caf50;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(76, 175, 80, 0.3);
}
.questionario .success-icon svg {
  width: 48px;
  height: 48px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-icon {
    width: 70px;
    height: 70px;
  }
  .questionario .success-icon svg {
    width: 40px;
    height: 40px;
  }
}
.questionario .success-title {
  flex: 1;
}
.questionario .success-title h2 {
  margin: 0 0 12px 0;
  font-size: 32px;
  font-weight: 700;
  color: #2e7d32;
  line-height: 1.2;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-title h2 {
    font-size: 28px;
    margin-bottom: 8px;
  }
}
.questionario .success-subtitle {
  margin: 0;
  font-size: 16px;
  color: #558b5a;
  font-weight: 400;
  line-height: 1.4;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-subtitle {
    font-size: 15px;
  }
}
.questionario .success-content {
  padding: 40px 30px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-content {
    padding: 30px 20px;
  }
}
.questionario .prescription-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media (max-width: 1023px) {
  .questionario .prescription-details {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .prescription-details {
    gap: 30px;
  }
}
.questionario .prescription-info {
  background-color: #fafafa;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
}
.questionario .info-header {
  background-color: #f8f9fa;
  padding: 20px 24px;
  border-bottom: 1px solid #e9ecef;
}
.questionario .info-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
  font-family: "chillenregular", serif;
}
.questionario .info-content {
  padding: 24px;
}
.questionario .info-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px 0;
  border-bottom: 1px solid #f1f3f4;
  gap: 16px;
}
.questionario .info-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.questionario .info-row:first-child {
  padding-top: 0;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .info-row {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}
.questionario .info-label {
  font-weight: 600;
  color: #495057;
  font-size: 15px;
  flex-shrink: 0;
  min-width: 120px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .info-label {
    min-width: auto;
    font-size: 14px;
  }
}
.questionario .info-value {
  color: #212529;
  font-size: 15px;
  text-align: right;
  word-break: break-word;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .info-value {
    text-align: left;
    font-size: 14px;
  }
}
.questionario .coupon-row {
  background-color: #fff8e1;
  margin: 8px -24px;
  padding: 20px 24px;
  border: none;
  border-radius: 8px;
}
.questionario .coupon-row .info-label {
  color: #f57f17;
  font-weight: 700;
}
.questionario .coupon-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.questionario .discount-percentage {
  font-size: 0.9em;
  color: #28a745;
  padding-top: 4px;
  font-weight: 500;
  display: flex;
  justify-content: center;
}
.questionario .coupon-code {
  display: inline-block;
  padding: 10px 16px;
  background-color: #ffffff;
  border: 2px dashed #ff9800;
  border-radius: 8px;
  font-family: "Courier New", monospace;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #f57f17;
  box-shadow: 0 2px 8px rgba(255, 152, 0, 0.15);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .coupon-code {
    font-size: 14px;
    padding: 8px 12px;
    letter-spacing: 1px;
  }
}
.questionario .prescription-info .qr-row {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #e0e0e0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.questionario .prescription-info .qr-row .qr-code-container {
  display: flex;
  justify-content: center;
  width: 100%;
}
.questionario .prescription-info .qr-row .qr-code-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.questionario .prescription-info .qr-row .qr-code-wrapper .qr-code-image {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  padding: 8px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.questionario .prescription-info .qr-row .qr-code-wrapper .qr-instruction {
  margin: 1.2rem 0 0 0;
  font-size: 0.85rem;
  color: var(--colore-testi);
  font-style: italic;
  line-height: 1.3;
}
.questionario .prescription-info .qr-row .qr-error {
  color: #d63638;
  font-style: italic;
  font-size: 0.9rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .prescription-info .qr-row .qr-code-wrapper .qr-code-image {
    width: 100px;
    height: 100px;
    padding: 6px;
  }
}
.questionario .prescription-actions {
  background-color: #fafafa;
  overflow: hidden;
  padding: 2rem;
  border-radius: 1rem;
}
.questionario .prescription-actions h3 {
  margin-bottom: 1rem;
}
.questionario .prescription-actions button {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.questionario .actions-header {
  background-color: #f8f9fa;
  padding: 20px 24px;
  border-bottom: 1px solid #e9ecef;
}
.questionario .actions-header h3 {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 600;
  color: #2c3e50;
}
.questionario .actions-subtitle {
  margin: 0;
  font-size: 14px;
  color: #6c757d;
  line-height: 1.4;
}
.questionario .share-section {
  padding: 24px;
}
.questionario .share-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.questionario .share-button {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  color: white;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  background: none;
}
.questionario .share-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.questionario .share-button.email {
  background-color: #a9cfea;
}
.questionario .share-button.email:hover {
  background-color: #75b9e9;
}
.questionario .share-button.whatsapp {
  background-color: #b0f3c9;
}
.questionario .share-button.whatsapp:hover {
  background-color: #74f1a3;
}
.questionario .share-button.print {
  background-color: #d5d5d5;
}
.questionario .share-button.print:hover {
  background-color: #b1b0b0;
}
.questionario .button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--colore-testi);
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.questionario .button-text {
  color: var(--colore-testi);
}
.questionario .purchase-section {
  border-top: 1px solid #e9ecef;
  padding: 24px;
}
.questionario .purchase-header {
  margin-bottom: 16px;
}
.questionario .purchase-header h4 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #495057;
}
.questionario .purchase-links {
  display: flex;
  gap: 12px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .purchase-links {
    flex-direction: column;
  }
}
.questionario .purchase-button {
  flex: 1;
  padding: 12px 20px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.questionario .purchase-button.view-product {
  background-color: #ffffff;
  color: #495057;
  border-color: #dee2e6;
}
.questionario .purchase-button.view-product:hover {
  background-color: #f8f9fa;
  border-color: #adb5bd;
}
.questionario .purchase-button.add-to-cart.primary {
  background-color: #a7deb3;
  align-content: center;
}
.questionario .purchase-button.add-to-cart.primary:hover {
  background-color: #70db87;
  transform: translateY(-1px);
}
.questionario .success-footer {
  background-color: #f8f9fa;
  padding: 30px;
  border-top: 1px solid #e9ecef;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-footer {
    padding: 25px 20px;
  }
}
.questionario .next-steps {
  display: flex;
  justify-content: center;
  gap: 16px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .next-steps {
    flex-direction: column;
    gap: 12px;
  }
}
.questionario .action-button {
  padding: 14px 28px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  text-align: center;
  min-width: 180px;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .action-button {
    min-width: auto;
    width: 100%;
  }
}
.questionario .action-button.secondary {
  background-color: #ffffff;
  color: #6c757d;
  border-color: #dee2e6;
}
.questionario .action-button.secondary:hover {
  background-color: #f8f9fa;
  color: #495057;
  border-color: #adb5bd;
}
.questionario .action-button.primary {
  background-color: #4caf50;
  color: white;
}
.questionario .action-button.primary:hover {
  background-color: #3e8e41;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .questionario .success-container {
    margin: 30px auto;
    padding: 0 15px;
  }
  .questionario .success-message {
    border-radius: 12px;
  }
  .questionario .info-content,
  .questionario .share-section,
  .questionario .purchase-section {
    padding: 20px;
  }
  .questionario .success-footer {
    padding: 20px;
  }
}
@media print {
  .questionario .success-container {
    box-shadow: none;
    margin: 0;
    padding: 0;
  }
  .questionario .success-message {
    border: 1px solid #ddd;
    box-shadow: none;
  }
  .questionario .share-section,
  .questionario .purchase-section,
  .questionario .success-footer {
    display: none;
  }
  .questionario .prescription-details {
    grid-template-columns: 1fr;
  }
  .questionario .success-header {
    background: white;
    border-bottom: 2px solid #ddd;
  }
  .questionario .success-icon {
    background-color: #4caf50 !important;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
  }
}
.questionario .option-card.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  position: relative;
}
.questionario .option-unavailable {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(255, 255, 255, 0.9);
  color: #d32f2f;
  padding: 8px 12px;
  border-radius: 4px;
  font-weight: bold;
  z-index: 10;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.questionario .next-button.transitioning {
  background-color: #ccc !important;
  cursor: not-allowed !important;
  pointer-events: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.questionario .transition-spinner-small {
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid #fff;
  border-radius: 50%;
  animation: spin-small 1s linear infinite;
}
@keyframes spin-small {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.questionario .next-button.transitioning::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  animation: buttonShimmer 1.5s infinite;
}
@keyframes buttonShimmer {
  100% {
    left: 100%;
  }
}
.questionario #step-transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(4px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.questionario #step-transition-overlay.active {
  opacity: 1;
}
.questionario .step-transition-content {
  text-align: center;
  color: #333;
  animation: fadeInUp 0.5s ease-out;
}
.questionario .step-transition-animation {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 25px;
}
.questionario .progress-dots {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: 8px;
  z-index: 2;
}
.questionario .progress-dots .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #4caf50;
  animation: dotPulse 1.4s ease-in-out infinite both;
}
.questionario .progress-dots .dot:nth-child(1) {
  animation-delay: -0.32s;
}
.questionario .progress-dots .dot:nth-child(2) {
  animation-delay: -0.16s;
}
.questionario .progress-dots .dot:nth-child(3) {
  animation-delay: 0s;
}
.questionario .progress-circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.questionario .progress-ring {
  animation: progressRing 2s ease-in-out infinite;
  transform-origin: center;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes dotPulse {
  0%, 80%, 100% {
    transform: scale(0);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes progressRing {
  0% {
    stroke-dashoffset: 220;
    transform: rotate(0deg);
  }
  50% {
    stroke-dashoffset: 110;
    transform: rotate(180deg);
  }
  100% {
    stroke-dashoffset: 220;
    transform: rotate(360deg);
  }
}
.questionario .step-transition-text {
  font-size: 18px;
  color: #666;
  margin: 0;
  font-weight: 500;
  animation: textFade 2s ease-in-out infinite;
}
@keyframes textFade {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}
/* ========================================
   THANK YOU PAGE - BEM STRUCTURE WITH NAMESPACE
======================================== */
/* Block: thankyou-page */
.thankyou-page {
  background-color: var(--colore-testi-2);
  min-height: 100vh;
}
/* ========================================
   HERO SECTION
======================================== */
/* Block: thankyou-hero */
.thankyou-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 300px;
  overflow: hidden;
  margin-bottom: 2rem;
}
/* Element: thankyou-hero__image */
.thankyou-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.thankyou-hero__image .img {
  width: 100%;
  height: 100%;
}
.thankyou-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Element: thankyou-hero__content */
.thankyou-hero__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  color: #fff;
  z-index: 2;
}
/* Element: thankyou-hero__title */
.thankyou-hero__title {
  font-size: 3rem;
  margin: 0 0 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
  text-align: center;
}
/* Element: thankyou-hero__description */
.thankyou-hero__description {
  max-width: 600px;
  font-size: 1.1rem;
  line-height: 1.5;
  margin: 0 auto;
  text-align: center;
}
.thankyou-hero__description p {
  color: #fff;
  margin: 0;
}
/* ========================================
   CONTAINER & LAYOUT
======================================== */
/* Block: thankyou-container */
.thankyou-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 2rem;
}
/* Block: thankyou-layout */
.thankyou-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  .thankyou-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/* ========================================
   ORDER COLUMN
======================================== */
/* Block: thankyou-order-column */
.thankyou-order-column {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
/* ========================================
   ORDER STATUS
======================================== */
/* Block: thankyou-order-status */
.thankyou-order-status {
  margin-bottom: 2rem;
  text-align: center;
}
/* Element: thankyou-order-status__card */
.thankyou-order-status__card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  /* Modifier: thankyou-order-status__card--success */
  /* Modifier: thankyou-order-status__card--failed */
}
.thankyou-order-status__card--success {
  background: #eafaf1;
  display: flex;
  justify-content: center;
}
.thankyou-order-status__card--failed {
  background: #ffeaea;
  border: 1px solid #e74c3c;
}
/* Element: thankyou-order-status__content */
.thankyou-order-status__content h2 {
  margin: 0 0 0.5rem;
  color: var(--colore-testi);
  font-size: 2rem;
}
.thankyou-order-status__content p {
  margin: 0;
  color: var(--colore-testi);
  opacity: 0.8;
}
/* ========================================
   ORDER DETAILS
======================================== */
/* Block: thankyou-order-details */
.thankyou-order-details {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #f0f0f0;
}
/* Element: thankyou-order-details__title */
.thankyou-order-details__title {
  margin: 0 0 1.5rem;
  color: var(--colore-testi);
}
/* Element: thankyou-order-details__grid */
.thankyou-order-details__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
@media (max-width: 576px) {
  .thankyou-order-details__grid {
    grid-template-columns: 1fr;
  }
}
/* Element: thankyou-order-details__item */
.thankyou-order-details__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  background: #f9f9f9;
  border-radius: 4px;
}
/* Element: thankyou-order-details__label */
.thankyou-order-details__label {
  font-weight: normal;
  color: var(--colore-testi);
  opacity: 0.8;
}
/* Element: thankyou-order-details__value */
.thankyou-order-details__value {
  font-weight: bold;
  color: var(--colore-testi);
  text-align: right;
  /* Modifier: thankyou-order-details__value--total */
}
.thankyou-order-details__value--total {
  font-size: 1.2rem;
  color: #27ae60;
}
.thankyou-order-details__value--total span {
  color: #000000;
}
/* ========================================
   INVOICE INFO
======================================== */
/* Block: thankyou-invoice-info */
.thankyou-invoice-info {
  background: #e3f2fd;
  padding: 1rem;
  border-radius: 4px;
  border-left: 4px solid #2196f3;
  margin-top: 1rem;
}
/* Element: thankyou-invoice-info__title */
.thankyou-invoice-info__title {
  margin: 0 0 0.5rem;
  color: var(--colore-testi);
}
/* Element: thankyou-invoice-info__text */
.thankyou-invoice-info__text {
  margin: 0.5rem 0;
  color: var(--colore-testi);
  /* Modifier: thankyou-invoice-info__text--notice */
}
.thankyou-invoice-info__text--notice {
  font-style: italic;
  opacity: 0.8;
}
/* ========================================
   ORDER PRODUCTS
======================================== */
/* Block: thankyou-order-products */
.thankyou-order-products {
  /* Element: thankyou-order-products__title */
  /* Element: thankyou-order-products__list */
}
.thankyou-order-products__title {
  margin: 0 0 1.5rem;
  color: var(--colore-testi);
}
.thankyou-order-products__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Block: thankyou-product-item */
.thankyou-product-item {
  display: grid;
  grid-template-columns: 60px 1fr auto auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  background: #f9f9f9;
  border-radius: 4px;
}
@media (max-width: 576px) {
  .thankyou-product-item {
    grid-template-columns: 1fr;
    text-align: center;
  }
}
/* Element: thankyou-product-item__image */
.thankyou-product-item__image {
  width: 60px;
  height: 60px;
  border-radius: 4px;
  overflow: hidden;
  margin: 0 auto;
}
.thankyou-product-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Element: thankyou-product-item__details */
.thankyou-product-item__details {
  /* Element: thankyou-product-item__name */
  /* Element: thankyou-product-item__meta */
}
.thankyou-product-item__details .thankyou-product-item__name {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-transform: uppercase;
  color: var(--colore-testi);
}
.thankyou-product-item__details .thankyou-product-item__meta {
  font-size: 1rem;
  color: var(--colore-testi-dark);
  margin-top: 1rem;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  display: flex;
  flex-direction: row;
  gap: 3rem;
  /* Element: thankyou-product-item__meta-item */
}
.thankyou-product-item__details .thankyou-product-item__meta .thankyou-product-item__meta-item p {
  font-size: 1rem;
  color: var(--colore-testi-dark);
  margin-top: 0.5rem;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* Element: thankyou-product-item__quantity */
.thankyou-product-item__quantity {
  font-weight: bold;
  color: var(--colore-testi);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* Element: thankyou-product-item__total */
.thankyou-product-item__total {
  font-weight: bold;
  color: var(--colore-testi);
  font-size: 1.1rem;
}
/* ========================================
   ACTIONS COLUMN
======================================== */
/* Block: thankyou-actions-column */
.thankyou-actions-column {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
/* ========================================
   ACTIONS SECTION
======================================== */
/* Block: thankyou-actions-section */
.thankyou-actions-section {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  font-size: 1.5rem;
}
/* Element: thankyou-actions-section__title */
.thankyou-actions-section__title {
  margin: 0 0 1rem;
  color: var(--colore-testi);
}
/* Element: thankyou-actions-section__buttons */
.thankyou-actions-section__buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* ========================================
   ACTION BUTTON
======================================== */
/* Block: thankyou-action-button */
.thankyou-action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem;
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
  color: var(--colore-testi);
  transition: all 0.3s;
  /* Modifier: thankyou-action-button--primary */
}
.thankyou-action-button:hover {
  background: var(--color-beige-light);
  border-color: var(--colore-testi);
  color: var(--colore-testi);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
.thankyou-action-button--primary {
  background: var(--colore-sfondo-2);
  color: var(--colore-testi-2);
}
.thankyou-action-button--primary:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
}
/* Element: thankyou-action-button__content */
.thankyou-action-button__content {
  display: flex;
  flex-direction: column;
  text-align: center;
}
/* Element: thankyou-action-button__title */
.thankyou-action-button__title {
  font-weight: bold;
  margin-bottom: 0.25rem;
}
/* Element: thankyou-action-button__desc */
.thankyou-action-button__desc {
  font-size: 0.9rem;
  opacity: 0.8;
}
/* ========================================
   SHIPPING SECTION
======================================== */
/* Block: thankyou-shipping-section */
.thankyou-shipping-section {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  font-size: 1.5rem;
}
/* Element: thankyou-shipping-section__title */
.thankyou-shipping-section__title {
  margin: 0 0 1rem;
  color: var(--colore-testi);
}
/* Element: thankyou-shipping-section__address */
.thankyou-shipping-section__address {
  background: #f9f9f9;
  padding: 1rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  line-height: 1.5;
  color: var(--colore-testi);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* Element: thankyou-shipping-section__method */
.thankyou-shipping-section__method {
  font-size: 0.9rem;
  color: var(--colore-testi);
  opacity: 0.8;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* ========================================
   SUPPORT SECTION
======================================== */
/* Block: thankyou-support-section */
.thankyou-support-section {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
  font-size: 1.5rem;
}
/* Element: thankyou-support-section__title */
.thankyou-support-section__title {
  margin: 0 0 1rem;
  color: var(--colore-testi);
}
/* Element: thankyou-support-section__text */
.thankyou-support-section__text {
  color: var(--colore-testi);
  margin-bottom: 1rem;
}
/* Element: thankyou-support-section__contacts */
.thankyou-support-section__contacts {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}
/* Element: thankyou-support-section__contact */
.thankyou-support-section__contact {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--colore-testi);
}
.thankyou-support-section__contact a {
  font-weight: bold;
  color: #000000 !important;
  text-decoration: none;
}
.thankyou-support-section__contact a:hover {
  text-decoration: underline;
}
/* ========================================
   ORDER NOT FOUND
======================================== */
/* Block: thankyou-order-not-found */
.thankyou-order-not-found {
  text-align: center;
  padding: 4rem 2rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
/* Element: thankyou-order-not-found__content */
.thankyou-order-not-found__content h2 {
  margin-bottom: 1rem;
  color: var(--colore-testi);
}
.thankyou-order-not-found__content p {
  margin-bottom: 2rem;
  color: var(--colore-testi);
  font-size: 1.1rem;
}
/* ========================================
   RELATED PRODUCTS
======================================== */
/* Block: thankyou-related-products */
.thankyou-related-products {
  margin-top: 4rem;
  padding: 3rem 2rem;
  background: var(--colore-testi-2-light);
}
/* Element: thankyou-related-products__title */
.thankyou-related-products__title {
  text-align: center;
  margin-bottom: 3rem;
}
.thankyou-related-products__title h2 {
  color: var(--colore-testi);
  margin: 0;
}
/* Element: thankyou-related-products__grid */
.thankyou-related-products__grid .products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 768px) {
  .thankyou-hero {
    height: 20vh;
    min-height: 200px;
  }
  .thankyou-hero__title {
    font-size: 2rem;
  }
  .thankyou-order-column,
  .thankyou-actions-section,
  .thankyou-shipping-section,
  .thankyou-support-section {
    padding: 1rem;
  }
  .thankyou-related-products {
    padding: 2rem 1rem;
  }
  .thankyou-related-products__grid .products {
    grid-template-columns: 1fr;
  }
}
/* === FILTRI WOOCOMMERCE - SISTEMA ORIZZONTALE === */
/* === NASCONDE ORDINAMENTO WOOCOMMERCE DEFAULT === */
.woocommerce-ordering {
  display: none;
}
/* === CONTAINER PRINCIPALE FILTRI === */
.horizontal-filter {
  margin-bottom: 2rem;
  background-color: var(--color-beige);
  width: 100%;
}
.horizontal-filter__header {
  text-align: center;
  padding: 60px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 743px) {
  .horizontal-filter__header {
    padding: 3rem 0;
  }
}
.horizontal-filter__title {
  margin: 0;
  font-family: "Homemade Apple", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 5rem;
  color: var(--colore-testi);
  letter-spacing: 0.5px;
}
@media (max-width: 743px) {
  .horizontal-filter__title {
    font-size: 3rem;
  }
}
.horizontal-filter__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  padding-bottom: 4rem;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 743px) {
  .horizontal-filter__wrapper {
    justify-content: center;
    gap: 0.5rem;
  }
}
/* === DROPDOWN FILTRI === */
.filter-dropdown {
  position: relative;
  flex: 0 1 auto;
}
.filter-dropdown.has-active .filter-dropdown__toggle {
  border-color: #333;
  color: #333;
}
.filter-dropdown.is-active .filter-dropdown__content {
  display: block;
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
}
.filter-dropdown__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  width: 200px;
  color: var(--colore-testi);
}
@media (max-width: 743px) {
  .filter-dropdown__toggle {
    width: 160px;
  }
}
.filter-dropdown__toggle:hover {
  border-color: #333;
}
.filter-dropdown__toggle_text {
  margin: 0;
  font-size: inherit;
  color: var(--colore-testi);
  text-transform: uppercase;
}
.filter-dropdown__active-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #333;
  color: #fff;
  border-radius: 10px;
  font-size: 12px;
}
.filter-dropdown__content {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  margin-top: 0.5rem;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 94;
  /* Animazione */
  opacity: 0;
  transform: translateY(-20px) scale(0.95);
  visibility: hidden;
  transition: all 0.3s ease;
  pointer-events: none;
}
@media (max-width: 743px) {
  .filter-dropdown__content {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: 0.5rem;
    max-height: 60vh;
    z-index: 999;
  }
}
.filter-dropdown__options {
  max-height: 300px;
  overflow-y: auto;
  padding: 0.5rem 1rem;
}
@media (max-width: 743px) {
  .filter-dropdown__options {
    max-height: 50vh;
  }
}
.filter-dropdown__actions {
  padding: 1rem;
  text-align: center;
}
.filter-dropdown__apply {
  padding: 0.5rem 1rem;
  color: var(--colore-testi-2);
  border: none;
  cursor: pointer;
  font-size: 14px;
  background-color: var(--colore-testi);
  border-radius: 0.4rem;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  text-transform: uppercase;
  font-style: normal;
}
.filter-dropdown__apply:hover {
  background: #444;
}
/* === OPZIONI FILTRO === */
.filter-option {
  display: flex;
  align-items: center;
  padding: 0.25rem 0;
  cursor: pointer;
}
.filter-option input {
  display: none;
  /* Commentato come nel tuo CSS */
  /* &:checked + .color-checkmark {
      border: 2px solid #333;
  } */
}
.filter-option input:checked + .checkmark {
  background: var(--colore-testi);
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.filter-option input:checked + .checkmark:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 4.5px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.filter-option .checkmark {
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
}
.filter-option .checkmark.color-checkmark {
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.filter-option .label {
  flex: 1;
  font-size: 14px;
  color: var(--colore-testi);
}
.filter-option .count {
  color: #999;
  font-size: 12px;
}
/* === PULSANTE RESET FILTRI === */
.filter-reset {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #666;
  cursor: pointer;
  font-size: 14px;
}
.filter-reset:hover {
  border-color: #333;
  color: #333;
}
/* === BANNER BENVENUTO === */
.welcome-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: burlywood;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--spaziatura-laterale);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transform: translateY(-100%);
  transition: transform 0.6s var(--animation-primary);
}
.welcome-banner.show {
  transform: translateY(0);
}
.banner-content {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.banner-text {
  color: var(--colore-bianco);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  animation: fadeInOut 8s infinite;
  opacity: 0;
  text-align: center;
}
/* Animazione fade in/out */
@keyframes fadeInOut {
  0%, 100% {
    opacity: 0;
  }
  10%, 90% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
}
/* Animazione marquee continua per mobile */
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* Mobile: Effetto marquee */
@media (max-width: 899px) {
  .welcome-banner {
    height: 35px;
  }
  .banner-content {
    justify-content: flex-start;
  }
  .banner-link {
    justify-content: flex-start;
    width: auto;
  }
  .banner-text {
    font-size: 12px;
    animation: marquee 20s linear infinite;
    opacity: 1;
    text-align: left;
    width: auto;
    /* Duplica il testo per effetto continuo */
  }
  .banner-text::after {
    content: " Benvenuto su Linphelle! Usa il codice BENVENUTO per il 10% di sconto sul tuo primo ordine";
    margin-left: 50px; /* Spazio tra le ripetizioni */
  }
  body.banner-active {
    --banner-height: 35px;
  }
}
/* Transizioni fluide per body e header */
body {
  transition: padding-top 0.6s var(--animation-primary);
}
body.banner-active {
  --banner-height: 35px;
  padding-top: var(--banner-height);
}
header.header-fixed {
  transition: top 0.6s var(--animation-primary);
}
body.banner-active header.header-fixed {
  top: var(--banner-height);
}
/* Mobile: Effetto marquee */
@media (max-width: 899px) {
  .welcome-banner {
    height: 35px;
  }
  .banner-content {
    justify-content: flex-start; /* Cambia allineamento */
  }
  .banner-link {
    justify-content: flex-start; /* Cambia allineamento */
    width: auto; /* Rimuovi larghezza fissa */
  }
  .banner-text {
    font-size: 12px;
    animation: marquee 15s linear infinite; /* Sostituisci fadeInOut con marquee */
    opacity: 1; /* Sempre visibile */
    text-align: left; /* Allineamento a sinistra */
    width: auto; /* Larghezza automatica */
  }
  body.banner-active {
    --banner-height: 35px;
  }
}
@media (max-width: 480px) {
  .banner-text {
    font-size: 11px;
  }
}
/* ========================================================================
   ARCHIVE PRODOTTI WOOCOMMERCE - VERSIONE DESKTOP PULITA
   ========================================================================

   File dedicato agli stili DESKTOP per archive-product
   Gli stili mobile (0px-743px) sono in _archive-product-mobile.scss

   Questo file gestisce:
   - Desktop (1200px+)
   - Laptop (900px-1199px) 
   - Tablet landscape (744px-899px)

   Struttura:
   1. Container principale
   2. Hero sections
   3. Sezioni categorie (shop principale)
   4. Griglia prodotti (archive categorie)
   5. Stili specifici per product-card
   6. Utilità e override
   ======================================================================== */
/* ========================================================================
   1. CONTAINER PRINCIPALE
   ======================================================================== */
.shop-archive {
  width: 100%;
  background-color: var(--colore-sfondo-2);
}
/* ========================================================================
   2. HERO SECTIONS
   ======================================================================== */
/* Hero principale shop */
.shop-hero {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.shop-hero__image {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .shop-hero__image {
    height: 45vh;
  }
}
.shop-hero__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .shop-hero__image img {
    height: 100%;
    object-position: center;
  }
}
.shop-hero .cover-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.35) 50%, rgba(0, 0, 0, 0) 100%);
  z-index: 30;
}
/* Hero categorie prodotti */
.category-hero {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.category-hero__content {
  width: 100%;
  height: auto;
  display: block;
  /* Stili mobile per l'hero categorie */
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .category-hero__content {
    height: 45vh;
  }
}
.category-hero__content img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  /* Stili mobile per l'immagine categorie */
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .category-hero__content img {
    height: 100%;
    object-position: center;
  }
}
/* ========================================================================
   3. SEZIONI CATEGORIE (Shop principale)
   ======================================================================== */
.shop-categories-section {
  padding: 80px 20px;
  margin: 0 auto;
  /* Solo tablet landscape, niente mobile */
}
@media (max-width: 899px) {
  .shop-categories-section {
    padding: 40px 15px;
  }
}
.tipologia-section {
  padding: 60px 20px 80px;
  /* Solo tablet landscape */
}
@media (max-width: 899px) {
  .tipologia-section {
    padding: 30px 15px 40px;
  }
}
/* Titoli sezioni */
.shop-section-title {
  text-align: center;
  margin-bottom: 60px;
  /* Fix per elementi con animazioni fade-up */
}
@media (max-width: 899px) {
  .shop-section-title {
    margin-bottom: 30px;
  }
}
.shop-section-title h2 {
  margin: 0;
  color: #333;
  /* Override per animazioni che nascondono i titoli */
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  text-align: center !important;
}
@media (max-width: 899px) {
  .shop-section-title h2 {
    font-size: 3.8rem !important;
  }
}
.shop-section-title .anim_fade-up {
  transform: translateY(0) !important;
  opacity: 1 !important;
}
/* Griglie categorie nella shop principale */
.shop-categories-grid {
  display: grid;
  gap: 30px;
  margin-bottom: 40px;
}
@media (max-width: 899px) {
  .shop-categories-grid {
    gap: 20px;
  }
}
.shop-categories-grid.finalita-grid {
  grid-template-columns: repeat(3, 1fr);
  /* Tablet landscape - 2 colonne invece di 1 */
}
@media (max-width: 899px) {
  .shop-categories-grid.finalita-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.shop-categories-grid.tipologia-grid {
  grid-template-columns: repeat(4, 1fr);
  /* Tablet landscape - 3 colonne invece di 1 */
}
@media (max-width: 899px) {
  .shop-categories-grid.tipologia-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
/* Card categorie */
.shop-category-card {
  background: #d9d9d9;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  position: relative;
  /* Stato iniziale per animazioni infinite scroll */
  opacity: 0;
  transform: translateY(80px);
  transition: none;
  /* Stato animato */
  /* Hover solo quando animato per evitare conflitti con animazioni */
}
.shop-category-card.is-category-animated {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.3s ease;
}
.shop-category-card.is-category-animated:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.shop-category-card.is-category-animated:hover .shop-category-card__image img {
  border-radius: 1rem;
}
.shop-category-card.is-category-animated:hover .shop-category-card__cta {
  color: #e3850b;
}
.shop-category-card a {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}
.shop-category-card__wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 350px;
}
@media (max-width: 899px) {
  .shop-category-card__wrapper {
    min-height: 320px;
  }
}
.shop-category-card__image {
  flex: 1;
  overflow: hidden;
  margin-top: 4rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.shop-category-card__image img {
  width: 50%;
  object-fit: cover;
  transition: transform 0.3s ease;
  border-radius: 1rem;
}
.shop-category-card__image2 {
  flex: 1;
  overflow: hidden;
  margin-top: 30px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.shop-category-card__image2 img {
  width: 20%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.shop-category-card__content {
  padding: 30px 25px;
  text-align: center;
  flex-shrink: 0;
}
@media (max-width: 899px) {
  .shop-category-card__content {
    padding: 25px 20px;
  }
}
.shop-category-card__title {
  font-size: 3rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin: 0 0 15px;
  color: #333;
}
@media (max-width: 899px) {
  .shop-category-card__title {
    font-size: 2rem;
  }
}
.shop-category-card__description {
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin: 0 0 20px;
}
@media (max-width: 899px) {
  .shop-category-card__description {
    font-size: 13px;
  }
}
.shop-category-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #333;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}
/* Card tipologia (versione più piccola) */
.tipologia-card .shop-category-card__wrapper {
  min-height: 280px;
}
@media (max-width: 899px) {
  .tipologia-card .shop-category-card__wrapper {
    min-height: 260px;
  }
}
.tipologia-card .shop-category-card__content {
  padding: 25px 20px;
}
.tipologia-card .shop-category-card__title {
  font-size: 2rem;
  margin: 0 0 12px;
}
.tipologia-card .shop-category-card__description {
  font-size: 13px;
  margin: 0 0 15px;
}
/* ========================================================================
   4. GRIGLIA PRODOTTI (Archive categorie)
   ======================================================================== */
/* Layout principale per archive prodotti - UTILIZZA CSS GRID */
.page-archive-product .sezione-peculiarita {
  padding-bottom: 10rem;
}
.page-archive-product .sezione-peculiarita .sezione__wrapper .listing {
  --gap: var(--spaziatura-laterale);
  position: relative;
  width: calc(100% - 2 * var(--spaziatura-laterale));
  margin: auto;
}
.page-archive-product .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row {
  /* GRIGLIA CSS GRID - Sostituisce il flexbox originale */
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  /* Responsive solo tablet landscape */
  /* Override proprietà flex da _cards.scss per compatibilità con grid */
}
@media (max-width: 899px) {
  .page-archive-product .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
  }
}
.page-archive-product .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row .product-card {
  flex: none !important; /* Disabilita flexbox */
  width: auto !important; /* Lascia che grid gestisca le dimensioni */
  /* Stato iniziale per animazioni infinite scroll */
  opacity: 0;
  transform: translateY(60px) scale(0.95);
  transition: none;
  /* Stato animato */
}
.page-archive-product .sezione-peculiarita .sezione__wrapper .listing .listing__wrapper .row .product-card.is-animated {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: all 0.8s ease;
}
/* ========================================================================
   5. STILI SPECIFICI PRODUCT-CARD IN ARCHIVE
   ======================================================================== */
.page-archive-product .product-card {
  /* Immagini prodotto */
  /* Contenuti WooCommerce nel bottom della card */
  /* Titolo specifico WooCommerce */
}
.page-archive-product .product-card .product-card__wrapper .product-card__image .image__wrapper img {
  border-radius: 1rem;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview {
  /* Prezzo WooCommerce */
  /* Descrizione prodotto */
  /* Rating stelle */
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-price span {
  color: var(--colore-marrone);
  font-size: 1.2rem;
  font-weight: 600;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-price .amount,
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-price .woocommerce-Price-amount {
  color: inherit;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-price del .amount {
  opacity: 0.6;
  text-decoration: line-through;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-price .woocommerce-Price-currencySymbol {
  color: var(--colore-marrone);
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-description span {
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.4;
  color: black;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-rating .star-rating {
  justify-content: center;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-rating .star-rating:before {
  color: #ddd;
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-rating .star-rating span:before {
  color: var(--colore-marrone);
}
.page-archive-product .product-card .product-card__header .product-card__titolo span {
  color: var(--colore-testi-cards);
  font-size: 1.8rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  transition: color 0.3s ease;
}
/* ========================================================================
   6. UTILITÀ E OVERRIDE
   ======================================================================== */
/* Override per elementi nascosti dalle animazioni del tema */
.shop-archive .titolo-xl,
.shop-archive .testo-l {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Nasconde elementi WooCommerce non necessari */
.woocommerce-result-count,
.woocommerce-pagination,
.custom-pagination {
  display: none !important;
}
/* Override per card prodotti in archive */
.page-archive-product .product-card {
  /* Override background per archive prodotti */
}
.page-archive-product .product-card.bg-chiaro {
  /* Se vuoi cambiare anche l'hover */
}
.page-archive-product .product-card.bg-chiaro .product-card__bg {
  background-color: var(--colore-sfondo-cards) !important;
}
.page-archive-product .product-card.bg-chiaro:hover .product-card__bg {
  background-color: var(--colore-sfondo-cards-hover) !important;
}
.page-archive-product .product-card.bg-chiaro:hover .product-card__header .product-card__titolo span {
  color: var(--colore-testi-cards-hover);
}
/* Forza la visibilità del pulsante CTA nelle card prodotti */
.page-archive-product .product-card {
  /* Disabilita le animazioni di hover che nascondono il pulsante */
}
.page-archive-product .product-card .product-card__cta {
  /* Forza la visibilità del pulsante */
  opacity: 1 !important;
  transform: translateY(0) !important;
  position: relative !important;
  /* Assicura che sia visibile */
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.page-archive-product .product-card .product-card__cta .cta-button .cta-button__container .cta-button__bg {
  background-color: black;
  border-radius: 0.3rem;
  text-transform: uppercase !important;
}
.page-archive-product .product-card .product-card__cta .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-marrone);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .page-archive-product .product-card .product-card__cta .cta-button .cta-button__container .cta-button__bg span {
    background-color: var(--colore-testi);
  }
}
.page-archive-product .product-card .product-card__cta .cta-button:hover .cta-button__container .cta-button__bg {
  background-color: black;
  border-radius: 0.3rem;
  text-transform: uppercase !important;
}
.page-archive-product .product-card .product-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-marrone);
}
@media only screen and (min-width: 0px) and (max-device-width: 767px), only screen and (min-device-width: 480px) and (max-device-height: 600px), only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (min-height: 600px) and (max-height: 1024px), only screen and (min-device-width: 744px) and (max-device-width: 834px) and (min-device-height: 1080px) and (max-device-height: 1194px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (min-device-height: 1024px) {
  .page-archive-product .product-card .product-card__cta .cta-button:hover .cta-button__container .cta-button__bg span {
    background-color: var(--colore-testi);
  }
}
.page-archive-product .product-card .product-card__cta .cta-button .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi);
  border-radius: 0.3rem;
  background-color: black;
}
.page-archive-product .product-card .product-card__cta .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  color: var(--colore-testi-2);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  background-color: black;
  text-transform: uppercase;
}
.page-archive-product .product-card .product-card__text-preview {
  position: relative !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* === Descrizione come Titolo nell'header === */
.page-archive-product .product-card {
  /* === Nome prodotto nel bottom === */
  /* === Hover sul titolo === */
}
.page-archive-product .product-card .product-card__header .product-card__header-title {
  text-align: center;
  width: 100%;
}
.page-archive-product .product-card .product-card__header .product-card__header-title .header-title__first-word {
  display: block;
  color: var(--colore-testi-cards);
  font-size: 3rem;
  font-family: "chillenregular", serif;
  text-transform: uppercase;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.2;
  transition: color 0.3s ease;
}
.page-archive-product .product-card .product-card__header .product-card__header-title .header-title__rest-text {
  display: block;
  font-size: 1.7rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  line-height: 1.4;
  color: var(--colore-testi-cards);
}
.page-archive-product .product-card .product-card__bottom .product-card__text-preview .product-card__product-name span {
  font-size: 1rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  line-height: 1.4;
  color: #666;
}
.page-archive-product .product-card:hover .product-card__header .product-card__header-title .header-title__first-word {
  color: var(--colore-testi-cards-hover);
}
/* === CONTENT PRODOTTO WOOCOMMERCE === */
/* === FORM WOOCOMMERCE BASE === */
.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder {
  -webkit-transition: opacity 0.5s 0.5s ease;
  transition: opacity 0.5s 0.5s ease;
  opacity: 0;
}
.woocommerce form .form-row label {
  line-height: 2;
}
.woocommerce form .form-row label.hidden {
  visibility: hidden;
}
.woocommerce form .form-row label.inline {
  display: inline;
}
.woocommerce form .form-row .woocommerce-input-wrapper .description {
  background: #1e85be;
  color: #fff;
  border-radius: 3px;
  padding: 1em;
  margin: 0.5em 0 0;
  clear: both;
  display: none;
  position: relative;
}
.woocommerce form .form-row .woocommerce-input-wrapper .description a {
  color: #fff;
  text-decoration: underline;
  border: 0;
  box-shadow: none;
}
.woocommerce form .form-row .woocommerce-input-wrapper .description::before {
  left: 50%;
  top: 0;
  margin-top: -4px;
  transform: translateX(-50%) rotate(180deg);
  content: "";
  position: absolute;
  border-width: 4px 6px 0 6px;
  border-style: solid;
  border-color: #1e85be transparent transparent transparent;
  z-index: 100;
  display: block;
}
.woocommerce form .form-row .input-checkbox {
  display: inline;
  margin: -2px 8px 0 0;
  text-align: center;
  vertical-align: middle;
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select {
  font-family: inherit;
  font-weight: 400;
  letter-spacing: normal;
  padding: 0.5em;
  display: block;
  background-color: var(--wc-form-color-background, #fff);
  border: var(--wc-form-border-width) solid var(--wc-form-border-color);
  border-radius: var(--wc-form-border-radius);
  color: var(--wc-form-color-text, #000);
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  line-height: normal;
  height: auto;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus {
  border-color: currentColor;
}
.woocommerce form .form-row select {
  cursor: pointer;
  appearance: none;
  padding-right: 3em;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=);
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: calc(100% - 0.5em) 50%;
}
.woocommerce form .form-row textarea {
  height: 4em;
  line-height: 1.5;
  box-shadow: none;
}
.woocommerce form .form-row .required {
  color: var(--wc-red);
  font-weight: 700;
  border: 0 !important;
  text-decoration: none;
  visibility: hidden;
}
.woocommerce form .form-row .optional {
  visibility: visible;
  color: currentcolor;
}
.woocommerce form .form-row.woocommerce-invalid label {
  color: var(--wc-red);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: var(--wc-red);
}
.woocommerce form .form-row.woocommerce-invalid .select2-container:not(.select2-container--open) .select2-selection {
  border-color: var(--wc-red);
}
.woocommerce form .form-row.woocommerce-validated input.input-text,
.woocommerce form .form-row.woocommerce-validated select {
  border-color: var(--wc-green);
}
.woocommerce form .form-row.woocommerce-validated .select2-container:not(.select2-container--open) .select2-selection {
  border-color: var(--wc-green);
}
.woocommerce form .form-row ::-webkit-input-placeholder {
  line-height: normal;
}
.woocommerce form .form-row :-moz-placeholder {
  line-height: normal;
}
.woocommerce form .form-row :-ms-input-placeholder {
  line-height: normal;
}
/* === SELECT2 STYLING === */
.select2-container {
  width: 100%;
}
.select2-container .select2-selection--single {
  height: auto;
}
.select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0.5em;
  line-height: normal;
  box-sizing: border-box;
  color: var(--wc-form-color-text, #444);
  font-weight: 400;
}
.select2-container .select2-selection--single .select2-selection__placeholder {
  color: #999;
}
.select2-container .select2-selection--single .select2-selection__arrow {
  position: absolute;
  top: 2px;
  right: 0.5em;
  height: 100%;
  width: 16px;
}
.select2-container .select2-selection--single .select2-selection__arrow b {
  border: none;
  display: block;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
  background-size: 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 0;
  margin: -8px 0 0;
}
.select2-container .select2-dropdown,
.select2-container .select2-selection {
  background-color: var(--wc-form-color-background, #fff);
  border: var(--wc-form-border-width, 1px) solid var(--wc-form-border-color, #aaa);
  border-radius: var(--wc-form-border-radius, 4px);
}
.select2-container.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.select2-container.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0;
}
.select2-results__option {
  margin: 0;
}
/* === STORE NOTICE === */
.woocommerce-store-notice,
p.demo_store {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  width: 100%;
  font-size: 1em;
  padding: 1em 0;
  text-align: center;
  background-color: #720eec;
  color: #fcfbfe;
  z-index: 99998;
  box-shadow: 0 1px 1em rgba(0, 0, 0, 0.2);
  display: none;
}
.woocommerce-store-notice a,
p.demo_store a {
  color: #fcfbfe;
  text-decoration: underline;
}
.admin-bar p.demo_store {
  top: 32px;
}
/* === UTILITIES === */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.clear {
  clear: both;
}
/* === BLOCK UI LOADING === */
.woocommerce .blockUI.blockOverlay {
  position: relative;
}
.woocommerce .blockUI.blockOverlay::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%3e%3cstyle%3e%20.spinner-ring%20{%20animation:%20rotate%201.2s%20cubic-bezier(0.3,%201,%200.3,%201)%20infinite;%20transform-origin:%2020px%2020px;%20}%20.spinner-path%20{%20stroke:%20%2365492c;%20stroke-linecap:%20round;%20stroke-dasharray:%2075,%2025;%20animation:%20dash%201.5s%20ease-in-out%20infinite;%20}%20.spinner-inner%20{%20fill:%20none;%20stroke:%20%23E38510;%20stroke-width:%201.5;%20stroke-dasharray:%2040,%2060;%20animation:%20reverse-rotate%202s%20linear%20infinite;%20transform-origin:%2020px%2020px;%20}%20@keyframes%20rotate%20{%200%25%20{%20transform:%20rotate(0deg);%20}%20100%25%20{%20transform:%20rotate(360deg);%20}%20}%20@keyframes%20reverse-rotate%20{%200%25%20{%20transform:%20rotate(360deg);%20}%20100%25%20{%20transform:%20rotate(0deg);%20}%20}%20@keyframes%20dash%20{%200%25%20{%20stroke-dasharray:%205,%2095;%20stroke-dashoffset:%200;%20}%2050%25%20{%20stroke-dasharray:%2060,%2040;%20stroke-dashoffset:%20-25;%20}%20100%25%20{%20stroke-dasharray:%205,%2095;%20stroke-dashoffset:%20-100;%20}%20}%20%3c/style%3e%3c!--%20Anello%20esterno%20principale%20--%3e%3cg%20class='spinner-ring'%3e%3ccircle%20class='spinner-path'%20cx='20'%20cy='20'%20r='16'%20fill='none'%20stroke-width='2.5'%20/%3e%3c/g%3e%3c!--%20Anello%20interno%20con%20rotazione%20opposta%20--%3e%3ccircle%20class='spinner-inner'%20cx='20'%20cy='20'%20r='10'%20/%3e%3c!--%20Punto%20centrale%20--%3e%3ccircle%20cx='20'%20cy='20'%20r='2'%20fill='%23201511'%20opacity='0.8'%20/%3e%3c/svg%3e") center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}
.woocommerce .loader::before {
  height: 1em;
  width: 1em;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
  content: "";
  animation: spin 1s ease-in-out infinite;
  background: url("data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20xmlns='http://www.w3.org/2000/svg'%3e%3cstyle%3e%20.spinner-ring%20{%20animation:%20rotate%201.2s%20cubic-bezier(0.3,%201,%200.3,%201)%20infinite;%20transform-origin:%2020px%2020px;%20}%20.spinner-path%20{%20stroke:%20%2365492c;%20stroke-linecap:%20round;%20stroke-dasharray:%2075,%2025;%20animation:%20dash%201.5s%20ease-in-out%20infinite;%20}%20.spinner-inner%20{%20fill:%20none;%20stroke:%20%23E38510;%20stroke-width:%201.5;%20stroke-dasharray:%2040,%2060;%20animation:%20reverse-rotate%202s%20linear%20infinite;%20transform-origin:%2020px%2020px;%20}%20@keyframes%20rotate%20{%200%25%20{%20transform:%20rotate(0deg);%20}%20100%25%20{%20transform:%20rotate(360deg);%20}%20}%20@keyframes%20reverse-rotate%20{%200%25%20{%20transform:%20rotate(360deg);%20}%20100%25%20{%20transform:%20rotate(0deg);%20}%20}%20@keyframes%20dash%20{%200%25%20{%20stroke-dasharray:%205,%2095;%20stroke-dashoffset:%200;%20}%2050%25%20{%20stroke-dasharray:%2060,%2040;%20stroke-dashoffset:%20-25;%20}%20100%25%20{%20stroke-dasharray:%205,%2095;%20stroke-dashoffset:%20-100;%20}%20}%20%3c/style%3e%3c!--%20Anello%20esterno%20principale%20--%3e%3cg%20class='spinner-ring'%3e%3ccircle%20class='spinner-path'%20cx='20'%20cy='20'%20r='16'%20fill='none'%20stroke-width='2.5'%20/%3e%3c/g%3e%3c!--%20Anello%20interno%20con%20rotazione%20opposta%20--%3e%3ccircle%20class='spinner-inner'%20cx='20'%20cy='20'%20r='10'%20/%3e%3c!--%20Punto%20centrale%20--%3e%3ccircle%20cx='20'%20cy='20'%20r='2'%20fill='%23201511'%20opacity='0.8'%20/%3e%3c/svg%3e") center center;
  background-size: cover;
  line-height: 1;
  text-align: center;
  font-size: 2em;
  color: rgba(0, 0, 0, 0.75);
}
.woocommerce a.remove {
  display: block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: 1;
  border-radius: 100%;
  color: var(--wc-red) !important;
  text-decoration: none;
  font-weight: 700;
  border: 0;
}
.woocommerce a.remove:hover {
  color: #fff !important;
  background: var(--wc-red);
}
.woocommerce small.note {
  display: block;
  color: #767676;
  font-size: 0.857em;
  margin-top: 10px;
}
/* === BREADCRUMBS === */
.woocommerce .woocommerce-breadcrumb {
  margin: 0 0 1em;
  padding: 0;
}
.woocommerce .woocommerce-breadcrumb::after, .woocommerce .woocommerce-breadcrumb::before {
  content: " ";
  display: table;
}
.woocommerce .woocommerce-breadcrumb::after {
  clear: both;
}
/* === QUANTITY FIELD === */
.woocommerce .quantity .qty {
  width: 3.631em;
  text-align: center;
}
/* === SINGLE PRODUCT === */
.woocommerce div.product {
  margin-bottom: 0;
  position: relative;
}
.woocommerce div.product .product_title {
  clear: none;
  margin-top: 0;
  padding: 0;
}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  background: inherit;
  font-weight: 700;
  display: inline-block;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: 0.5;
  display: inline-block;
}
.woocommerce div.product p.stock {
  font-size: 0.92em;
}
.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 1.618em;
}
/* === PRODUCT IMAGES === */
.woocommerce div.product div.images {
  margin-bottom: 2em;
}
.woocommerce div.product div.images img {
  display: block;
  width: 100%;
  height: auto;
  box-shadow: none;
}
.woocommerce div.product div.images div.thumbnails {
  padding-top: 1em;
}
.woocommerce div.product div.images.woocommerce-product-gallery {
  position: relative;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
  margin: 0;
  padding: 0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg {
  background-color: #fff;
  opacity: 0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image--placeholder {
  border: 1px solid #f2f2f2;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
  width: 25%;
  display: inline-block;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
  outline-offset: -2px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  background: #fff;
  border: none;
  box-sizing: content-box;
  border-radius: 100%;
  cursor: pointer;
  font-size: 2em;
  height: 36px;
  padding: 0;
  position: absolute;
  right: 0.5em;
  text-indent: -9999px;
  top: 0.5em;
  width: 36px;
  z-index: 90;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before {
  border: 2px solid #000;
  border-radius: 100%;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 10px;
  left: 9px;
  top: 9px;
  position: absolute;
  width: 10px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after {
  background: #000;
  border-radius: 6px;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 8px;
  left: 22px;
  position: absolute;
  top: 19px;
  transform: rotate(-45deg);
  width: 2px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger span[aria-hidden=true] {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  left: 50%;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  width: 1px;
}
.woocommerce div.product div.images .flex-control-thumbs {
  overflow: hidden;
  zoom: 1;
  margin: 0;
  padding: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: 25%;
  float: left;
  margin: 0;
  list-style: none;
}
.woocommerce div.product div.images .flex-control-thumbs li img {
  cursor: pointer;
  opacity: 0.5;
  margin: 0;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover {
  opacity: 1;
}
.woocommerce div.product div.images .woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
  clear: left;
}
.woocommerce div.product div.images .woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: left;
}
.woocommerce div.product div.images .woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
  clear: left;
}
/* === PRODUCT SUMMARY === */
.woocommerce div.product div.summary {
  margin-bottom: 2em;
}
/* === SOCIAL SHARING === */
.woocommerce div.product div.social {
  text-align: right;
  margin: 0 0 1em;
}
.woocommerce div.product div.social span {
  margin: 0 0 0 2px;
}
.woocommerce div.product div.social span span {
  margin: 0;
}
.woocommerce div.product div.social span .stButton .chicklets {
  padding-left: 16px;
  width: 0;
}
.woocommerce div.product div.social iframe {
  float: left;
  margin-top: 3px;
}
/* === CUSTOM PRICING STYLES === */
.woocommerce ul.products li.product .price {
  display: block;
  font-weight: 400;
  margin-bottom: 0.5em;
  font-size: 1rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  padding: 0;
  margin: 0;
  font-size: 3.5rem;
  font-weight: 300;
  color: var(--colore-testi-dark);
}
.linphelle-loop-price {
  color: var(--colore-testi-dark);
  font-size: 20px;
  font-weight: 600;
  margin: 10px 0;
  text-align: center;
}
.linphelle-loop-price bdi {
  color: var(--colore-testi-dark);
}
.linphelle-loop-price .amount,
.linphelle-loop-price .woocommerce-Price-amount {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.linphelle-loop-price del {
  opacity: 0.6;
  text-decoration: line-through;
}
.linphelle-loop-price ins {
  text-decoration: none;
  font-weight: 700;
}
/* === PRODOTTO SINGOLO WOOCOMMERCE === */
.single-product {
  background-color: var(--colore-sfondo-2);
}
/* === CONTAINER PRINCIPALE === */
.product-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 120px;
  color: #333;
}
.woocommerce div.product {
  margin-bottom: 0;
  position: relative;
  padding: 2rem;
}
@media (max-width: 899px) {
  .woocommerce div.product {
    margin-bottom: 4rem;
  }
}
/* === LAYOUT PRODOTTO === */
.product-layout {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
  position: relative;
}
@media (max-width: 899px) {
  .product-layout {
    flex-direction: column;
  }
}
/* === LAYOUT COLONNE BASE === */
.product-gallery-column {
  width: 50%;
  padding-right: 30px;
  position: relative;
}
@media (max-width: 899px) {
  .product-gallery-column {
    width: 100%;
    padding-right: 0;
    margin-bottom: 30px;
  }
}
.product-info-column {
  width: 50%;
  padding-left: 20px;
}
@media (max-width: 899px) {
  .product-info-column {
    width: 100%;
    padding-left: 0;
    text-align: center;
  }
}
.product-gallery {
  width: 100%;
}
@media (max-width: 899px) {
  .product-gallery {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }
}
/* === GALLERIA WOOCOMMERCE === */
.woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce-product-gallery__wrapper {
  margin: 0;
}
.woocommerce-product-gallery__image img {
  width: 100%;
  height: auto;
  display: block;
}
/* === MINIATURE GALLERIA === */
.flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin: 10px 0 0 !important;
  padding: 0 !important;
}
.flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.flex-control-thumbs img {
  width: 100% !important;
  height: auto !important;
  border: 1px solid #eee;
  opacity: 0.6;
  transition: opacity 0.3s ease;
}
.flex-control-thumbs img:hover, .flex-control-thumbs img.flex-active {
  opacity: 1;
  border-color: #999;
}
/* === HEADER PRODOTTO === */
.product-header-compact {
  margin-bottom: 20px;
}
.product-title-small {
  font-size: 5rem;
  margin: 0 0 8px;
  color: var(--colore-testi);
  font-weight: 300;
  line-height: 1.2;
}
@media (max-width: 899px) {
  .product-title-small {
    font-size: 2.8rem;
    text-align: center;
  }
}
.product-code-small {
  font-size: 1rem;
  margin-bottom: 0;
  font-weight: 500;
  text-transform: uppercase;
  font-family: "Oswald";
  margin-left: 1.8rem;
}
@media (max-width: 899px) {
  .product-code-small {
    margin: 0 auto;
    text-align: center;
  }
}
/* === RIQUADRO PREZZO === */
.price-box-sticky {
  background: #fff;
  border-radius: 8px;
  padding: 25px;
  margin-bottom: 25px;
  position: relative;
  z-index: 10;
  /* Override globali per tutti gli elementi WooCommerce */
}
@media (max-width: 899px) {
  .price-box-sticky {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
  }
}
.price-box-sticky * {
  color: var(--colore-testi) !important;
}
.price-box-sticky .single_add_to_cart_button,
.price-box-sticky .single_add_to_cart_button * {
  color: #fff !important;
}
.price-box-sticky .guide-taglie-btn,
.price-box-sticky .guide-taglie-btn * {
  color: var(--colore-testi) !important;
}
/* === DISPLAY PREZZO === */
.price-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.price-display .price {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--colore-testi) !important;
  margin: 0;
}
.price-display .price .amount,
.price-display .price .woocommerce-Price-amount,
.price-display .price .woocommerce-price-amount,
.price-display .price span {
  color: var(--colore-testi) !important;
  font-size: 30px;
  padding: 5px 0 20px 0;
}
.price-display .price del,
.price-display .price del .amount,
.price-display .price del .woocommerce-Price-amount {
  color: var(--colore-testi) !important;
  opacity: 0.6;
}
.price-display .price ins,
.price-display .price ins .amount,
.price-display .price ins .woocommerce-Price-amount {
  color: var(--colore-testi) !important;
  text-decoration: none;
}
.size-guide-link {
  text-align: right;
}
.guide-taglie-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--colore-testi);
  text-decoration: none;
  font-size: 14px;
  transition: color 0.3s ease;
}
.guide-taglie-btn:hover {
  color: var(--colore-testi);
  opacity: 0.8;
}
.guide-taglie-btn svg {
  width: 16px;
  height: 16px;
}
/* === SEZIONE VARIANTI === */
.product-variations-section {
  margin-bottom: 0;
}
.product-variations-section .variations {
  border-spacing: 0;
  width: 100%;
}
.product-variations-section .variations tr {
  display: block;
  margin-bottom: 20px;
}
.product-variations-section .variations td {
  padding: 0;
  display: block;
}
.product-variations-section .variations td.label {
  margin-bottom: 8px;
}
.product-variations-section .variations td.label label {
  font-weight: 600;
  font-size: 15px;
  color: var(--colore-testi);
  margin: 0;
}
.product-variations-section select {
  color: var(--colore-testi) !important;
  border-color: #ddd;
}
.product-variations-section select option {
  color: var(--colore-testi) !important;
}
/* === COLOR SWATCHES PERSONALIZZATI === */
.linphelle-color-swatch-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
@media (max-width: 899px) {
  .linphelle-color-swatch-container {
    justify-content: center;
  }
}
.linphelle-color-swatch {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 2px solid #ddd;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.linphelle-color-swatch:hover, .linphelle-color-swatch.selected {
  border-color: var(--colore-testi);
  transform: scale(1.1);
}
.linphelle-color-swatch.selected::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
/* === BUTTON SWATCHES === */
.linphelle-button-swatch-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
@media (max-width: 899px) {
  .linphelle-button-swatch-container {
    justify-content: center;
  }
}
.linphelle-button-swatch {
  padding: 8px 16px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 14px;
  min-width: 45px;
  text-align: center;
  color: var(--colore-testi) !important;
}
.linphelle-button-swatch:hover, .linphelle-button-swatch.selected {
  border-color: var(--colore-testi) !important;
  background: var(--colore-testi) !important;
  color: #fff !important;
}
/* === NASCONDI ELEMENTI === */
.linphelle-variation-select {
  display: none !important;
}
.woocommerce-variation-description {
  display: none !important;
}
.woocommerce-variation.single_variation {
  display: none !important;
}
/* === CONTROLLI QUANTITÀ PERSONALIZZATI === */
.custom-quantity-controls {
  display: flex;
  align-items: center;
  padding: 20px 0 0 10px;
  gap: 15px;
  margin-bottom: 15px;
}
@media (max-width: 899px) {
  .custom-quantity-controls {
    justify-content: center;
    padding: 1rem;
  }
}
.quantity-control {
  cursor: pointer;
  transition: all 0.3s ease;
  width: 40px;
  height: 40px;
  position: relative;
}
.quantity-control.disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}
.quantity-control__wrapper {
  width: 100%;
  height: 100%;
  position: relative;
}
.quantity-control__container {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.quantity-control__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 1;
  transition: opacity 0.3s;
}
.quantity-control__bg span {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--colore-testi-2);
  transition: background-color 0.3s;
}
.quantity-control:hover .quantity-control__bg span {
  background-color: var(--colore-testi);
}
.quantity-control__arrow {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.quantity-control__arrow .img {
  width: 16px;
  height: 16px;
}
.quantity-control__arrow svg {
  width: 20px;
  height: 20px;
  stroke: var(--colore-testi);
  transition: stroke 0.3s;
}
.quantity-control:hover .quantity-control__arrow svg {
  stroke: var(--colore-testi-2);
}
.current-quantity {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 60px;
  height: 40px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
}
.quantity-number {
  font-size: 16px;
  font-weight: 600;
  color: var(--colore-testi);
}
/* === QUANTITÀ STANDARD (NASCOSTA) === */
.quantity {
  display: none !important;
  /* Stili per quando è visibile */
}
.quantity:not([style*="display: none"]) {
  display: flex;
  align-items: center;
  width: 120px;
  height: 45px;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 15px;
}
.quantity:not([style*="display: none"]) button {
  width: 40px;
  height: 45px;
  background: #f8f8f8;
  border: none;
  font-size: 18px;
  cursor: pointer;
  transition: background 0.3s ease;
}
.quantity:not([style*="display: none"]) button:hover {
  background: #eee;
}
.quantity:not([style*="display: none"]) input {
  width: 40px !important;
  height: 43px;
  border: none !important;
  text-align: center;
  font-size: 16px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--colore-testi) !important;
  font-weight: 600;
}
.quantity:not([style*="display: none"]) input:focus {
  outline: none;
  box-shadow: none;
}
/* === PULSANTE ADD TO CART === */
.single_add_to_cart_button {
  width: 100%;
  padding: 15px 30px !important;
  background-color: var(--colore-testi) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 20px !important;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.single_add_to_cart_button:hover {
  background-color: var(--colore-testi-2) !important;
  transform: translateY(-1px);
}
/* === BULLET POINTS INFORMATIVI === */
.product-features-bullets {
  margin: 35px 0;
  padding: 25px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #e7c8a8;
}
.feature-bullet {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  gap: 15px;
  font-family: "Inter";
}
.feature-bullet:last-child {
  margin-bottom: 0;
}
.bullet-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background-color: var(--colore-sfondo-3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
.bullet-icon svg {
  width: 20px;
  height: 20px;
}
.bullet-text {
  flex: 1;
  font-size: 14px;
  line-height: 1.6;
  color: var(--colore-testi);
}
.bullet-text span {
  color: var(--colore-testi);
}
.bullet-text strong {
  color: var(--colore-testi);
  font-weight: 600;
}
/* === SEZIONI COLLASSABILI === */
.product-details-collapsible {
  margin-top: 30px;
}
.details-section {
  border-bottom: 1px solid #e7c8a8;
}
.details-header {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: color 0.3s ease;
}
.details-header:hover {
  color: var(--colore-testi);
  opacity: 0.8;
}
.details-header h3 {
  margin: 0;
  font-size: 2rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.toggle-icon svg {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  stroke: crimson;
  transform-origin: center;
  will-change: transform;
}
.toggle-icon svg.rotated {
  transform: rotate(180deg);
}
.details-content {
  display: none;
  overflow: hidden;
  padding-bottom: 25px;
  color: var(--colore-testi);
  font-size: 14px;
  line-height: 1.7;
}
.details-content.open {
  display: block;
}
.details-content p {
  margin: 0 0 15px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  color: var(--colore-testi);
}
.details-content p:first-of-type span {
  font-weight: bold;
}
.details-content span {
  margin: 0 0 15px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  color: var(--colore-testi);
}
.details-content table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}
.details-content table th,
.details-content table td {
  padding: 10px 0;
  text-align: left;
  border-bottom: 1px solid #f0f0f0;
}
.details-content table th {
  font-weight: 600;
  color: var(--colore-testi);
}
/* === SEZIONE PLUS SINGLE PRODUCT === */
.sezione-plus-product {
  padding-bottom: 12rem;
  margin: 60px 0 0;
}
@media (max-width: 899px) {
  .sezione-plus-product {
    padding-bottom: 9rem;
  }
}
.sezione-plus-product .sezione-plus-product__bottom {
  --width-caratteristica: 20vw;
  --gap: 5vw;
  width: calc(var(--width-caratteristica) * 3 + 2 * var(--gap));
  margin: 0 auto;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .sezione-plus-product .sezione-plus-product__bottom {
    --width-caratteristica: 25vw;
    --gap: 2.5vw;
  }
}
.sezione-plus-product .sezione-plus-product__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 100%));
  gap: var(--gap);
}
@media (max-width: 899px) {
  .sezione-plus-product .sezione-plus-product__wrapper {
    grid-template-columns: repeat(1, minmax(0, 100%));
    gap: 2rem;
  }
}
.sezione-plus-product .sezione-plus-product__caratteristica {
  transform: translateY(0);
  opacity: 1;
}
.sezione-plus-product .sezione-plus-product__caratteristica.anim_fade-up-active {
  transform: translateY(0);
  opacity: 1;
  transition: all 0.6s ease-out;
}
.sezione-plus-product .sezione-plus-product__caratteristica-wrapper {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: center;
  text-align: center;
}
@media (max-width: 899px) {
  .sezione-plus-product .sezione-plus-product__caratteristica-wrapper {
    gap: 0.75rem;
    padding-top: 2rem;
  }
}
.sezione-plus-product .sezione-plus-product__numero h3 {
  font-size: 2.5rem;
  line-height: 90%;
  font-family: "Homemade Apple", cursive !important;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-arancio-brand);
  margin: 0;
}
@media (min-width: 900px) and (max-width: 1365px) {
  .sezione-plus-product .sezione-plus-product__numero h3 {
    font-size: 3rem;
  }
}
@media (max-width: 899px) {
  .sezione-plus-product .sezione-plus-product__numero h3 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .sezione-plus-product .sezione-plus-product__numero h3 {
    font-size: 1.8rem;
  }
}
.sezione-plus-product .sezione-plus-product__titolo h4 {
  font-family: "chillenregular", serif;
  font-size: 1.8rem;
  color: var(--colore-testi);
  text-transform: uppercase;
  margin: 0;
}
.sezione-plus-product .sezione-plus-product__testo {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
.sezione-plus-product .sezione-plus-product__testo span {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.2;
  color: var(--colore-testi);
  text-transform: uppercase;
  display: block;
}
/* === OVERRIDE WOOCOMMERCE SPECIFICI === */
.woocommerce .price-box-sticky .price,
.woocommerce .price-box-sticky .price *,
.woocommerce .price-box-sticky .amount,
.woocommerce .price-box-sticky .woocommerce-Price-amount {
  color: var(--colore-testi) !important;
}
.woocommerce .price-box-sticky label,
.woocommerce .price-box-sticky .variations label {
  color: var(--colore-testi) !important;
}
.woocommerce .price-box-sticky select,
.woocommerce .price-box-sticky input[type=number] {
  color: var(--colore-testi) !important;
}
.woocommerce table.shop_attributes th {
  width: 150px;
  font-weight: 700;
  padding: 8px;
  border-top: 0;
  border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
  margin: 0;
  line-height: 1.5;
  font-family: "Inter";
}
/* === NASCONDI STRIPE EXPRESS CHECKOUT === */
#wc-stripe-express-checkout-element,
.wc-stripe-express-checkout-element,
div[id*=stripe-express-checkout],
div[class*=stripe-express-checkout] {
  display: none !important;
}
/* === PULSANTE SISTEMA TAGLIE === */
.open-size-system {
  padding: 0.5em 1em;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  font-family: "Oswald";
  text-transform: uppercase;
}
/* === BORDER-RADIUS IMMAGINE PRINCIPALE PRODOTTO === */
.woocommerce-product-gallery {
  /* Anche per le miniature se vuoi */
}
.woocommerce-product-gallery__image img {
  border-radius: 1rem !important;
}
.woocommerce-product-gallery .flex-control-thumbs img {
  border-radius: 0.5rem !important;
}
/* === PRODOTTI CORRELATI - LAYOUT CONTAINER === */
/* Override bg */
.woocommerce .related-products-section ul.products.columns-3 li.product,
.woocommerce-page .related-products-section ul.products.columns-3 li.product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}
.related-products-section {
  margin-top: 6rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .related-products-section {
    margin: 0;
  }
}
.related-products-section .section-header {
  text-align: center;
  margin-bottom: 4rem;
}
.related-products-section .section-header .section-title {
  font-size: 4rem;
  color: var(--colore-testi);
  font-variant: all-small-caps;
  line-height: 2.5rem;
  margin: 0;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .related-products-section .section-header .section-title {
    font-size: 8rem;
    line-height: 5.5rem;
  }
}
.related-products-section .related-products-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spaziatura-laterale) 8rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .related-products-section .related-products-grid {
    padding-bottom: 0;
  }
}
.related-products-section .related-products-grid .products {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 3rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media (max-width: 899px) {
  .related-products-section .related-products-grid .products {
    flex-direction: column !important;
    align-items: center !important;
    gap: 2rem !important;
  }
}
.related-products-section .related-products-grid .products li.product {
  width: 300px !important;
  max-width: 350px !important;
  flex: 0 0 300px !important;
  margin: 0 !important;
  float: none !important;
}
@media (max-width: 899px) {
  .related-products-section .related-products-grid .products li.product {
    width: 100% !important;
    max-width: 400px !important;
    flex: none !important;
  }
}
/* === OVERRIDE SPECIFICI PRODOTTI CORRELATI === */
.related-products-section {
  /* === PRODUCT CARD PRINCIPALE === */
  /* === HEADER DELLA CARD === */
  /* === IMMAGINE PRODOTTO === */
  /* === BOTTOM DELLA CARD === */
  /* === PREZZO === */
  /* === DESCRIZIONE PRODOTTO === */
  /* === RATING (SE PRESENTE) === */
  /* === CTA BUTTON === */
  /* === STATI HOVER E INTERAZIONI === */
  /* === RESPONSIVE === */
}
.related-products-section .product-card__bg {
  background-color: var(colore-sfondo-cards) !important;
}
.related-products-section .product-card__bg:hover {
  background-color: var(colore-sfondo-cards-hover) !important;
}
.related-products-section .product-card__wrapper {
  padding: 3rem !important;
}
.related-products-section .product-card__header {
  margin-bottom: 3.5rem !important;
}
.related-products-section .product-card__titolo {
  width: 100% !important;
  text-align: center !important;
}
.related-products-section .product-card__titolo span {
  font-weight: 300 !important;
  font-size: 2rem !important;
  display: block !important;
  line-height: 1.2 !important;
}
.related-products-section .image__wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.related-products-section .image__container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.related-products-section .image__container img {
  border-radius: 1rem !important;
  width: 80% !important;
  height: auto !important;
  object-fit: contain !important;
}
.related-products-section .product-card__bottom {
  margin: 0 !important;
}
.related-products-section .cta-button:hover .cta-button__wrapper .cta-button__text span {
  color: black;
}
.related-products-section .cta-button__text span {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
/* ========================================
   NASCONDE NOTIFICHE WOOCOMMERCE FASTIDIOSE
======================================== */
/* Notifiche "Prodotto aggiunto al carrello" */
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message,
div.woocommerce > .woocommerce-message,
.wc-block-components-notice-banner,
.woocommerce-info {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Nascondi solo le notifiche positive, mantieni gli errori */
.woocommerce-error {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Animazioni per la pallina volante */
.flying-cart-ball {
  transition: all 0.1s ease;
  will-change: transform, left, top, scale;
}
/* Miglioramenti animazione contatore carrello */
.cart-count.updated {
  animation: cart-pulse 0.4s ease;
}
@keyframes cart-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
    background-color: var(--colore-testi);
    color: var(--colore-testi-2);
  }
  100% {
    transform: scale(1);
  }
}
/* ========================================================================
  GUIDA ALLE TAGLIE - SINGLE PRODUCT
  ======================================================================== */
/* === LAYOUT PRINCIPALE === */
.price-display-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.price-display {
  flex: 1;
}
/* === SEZIONE GUIDA TAGLIE COMPLETA === */
.size-guide-section {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media (max-width: 899px) {
  .size-guide-section {
    align-items: center;
  }
}
.size-guide-wrapper {
  margin-bottom: 0.5rem;
}
/* === PULSANTE GUIDA TAGLIE === */
.size-guide-button {
  background: transparent;
  border: 2px solid var(--colore-marrone, #8b5a3c);
  color: var(--colore-marrone, #8b5a3c);
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  border-radius: 4px;
}
.size-guide-button:hover {
  background: var(--colore-sfondo-2);
  color: white;
  transform: translateY(-1px);
}
/* === LINK CONTATTI === */
.contact-link-wrapper {
  text-align: right;
}
@media (max-width: 899px) {
  .contact-link-wrapper {
    text-align: center;
  }
}
.contact-link-text {
  font-size: 12px;
  line-height: 1.4;
  color: var(--colore-testi);
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-block;
  font-weight: 400;
}
.contact-link-text:hover {
  color: var(--colore-testi);
  opacity: 0.7;
  transform: translateY(-1px);
}
.contact-link-text:focus {
  outline: none;
  color: var(--colore-testi);
  opacity: 0.8;
}
/* === MODAL GUIDA TAGLIE === */
.size-guide-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.size-guide-modal.active {
  opacity: 1;
  visibility: visible;
}
.size-guide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
}
.size-guide-content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  transform: scale(0.8);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
}
.size-guide-modal.active .size-guide-content {
  transform: scale(1);
}
/* === PULSANTE CHIUSURA MODAL === */
.size-guide-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: #666;
  transition: all 0.3s ease;
  z-index: 10;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.size-guide-close:hover {
  background: rgb(255, 255, 255);
  color: #000;
}
/* === HEADER DEL MODAL === */
.size-guide-header {
  padding: 2rem 2rem 1rem 2rem;
  text-align: center;
  border-bottom: 1px solid #eee;
}
.size-guide-title {
  margin: 0 0 0.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--colore-testi, #333);
  font-family: "Inter", sans-serif;
}
.size-guide-description {
  margin: 50px 0 10px;
  font-size: 0.95rem;
  line-height: 1.4;
  color: #666;
  font-family: "Inter", sans-serif;
}
/* === IMMAGINE GUIDA TAGLIE === */
.size-guide-image-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 2rem 2rem 2rem;
  overflow: hidden;
}
.size-guide-image {
  max-width: 70% !important;
  max-height: 60vh;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
/* === RESPONSIVE === */
@media (max-width: 768px) {
  /* Layout principale */
  .price-display-row {
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
  }
  /* Sezione guida taglie */
  .size-guide-section {
    align-items: center;
  }
  .size-guide-wrapper {
    margin-bottom: 0.75rem;
  }
  .size-guide-button {
    font-size: 0.7rem;
    padding: 0.4rem 0.8rem;
  }
  .contact-link-wrapper {
    text-align: center;
  }
  /* Modal */
  .size-guide-content {
    margin: 1rem;
    max-width: calc(100vw - 2rem);
    max-height: calc(100vh - 2rem);
  }
  .size-guide-header {
    padding: 1.5rem 1rem 1rem 1rem;
  }
  .size-guide-title {
    font-size: 1.25rem;
  }
  .size-guide-description {
    font-size: 0.9rem;
  }
  .size-guide-image-wrapper {
    padding: 1rem;
  }
  .size-guide-image {
    max-height: 50vh;
  }
  .size-guide-close {
    top: 0.5rem;
    right: 0.5rem;
    width: 35px;
    height: 35px;
  }
}
/* ========================================
   STILI PRODOTTI ESAURITI
======================================== */
/* === PULSANTE DISABILITATO === */
.single_add_to_cart_button.disabled {
  background-color: #cccccc !important;
  color: #666666 !important;
  cursor: not-allowed !important;
  opacity: 0.7 !important;
}
.single_add_to_cart_button.disabled:hover {
  background-color: #cccccc !important;
  color: #666666 !important;
  transform: none !important;
}
/* === WRAPPER MESSAGGIO NON DISPONIBILE === */
.out-of-stock-message-wrapper {
  margin-bottom: 15px;
}
.out-of-stock-message-wrapper .button {
  width: 100%;
  padding: 15px 30px !important;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 6px;
  border: none !important;
}
/* === PAGINA CARRELLO WOOCOMMERCE === */
/* === CONTAINER PRINCIPALE === */
.cart-page {
  background-color: var(--colore-sfondo-2);
  min-height: 100vh;
}
.cart-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 2rem;
}
@media (max-width: 899px) {
  .cart-container {
    padding: 0 1rem;
  }
}
/* === HERO SECTION === */
.cart-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 300px;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media (max-width: 899px) {
  .cart-hero {
    height: 45vh;
  }
}
.cart-hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.cart-hero .hero-image .img {
  width: 100%;
  height: 100%;
}
.cart-hero .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  color: #fff;
  z-index: 2;
}
.cart-hero-content h1 {
  font-size: 3rem;
  margin: 0 0 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
  text-align: center;
}
@media (max-width: 899px) {
  .cart-hero-content h1 {
    font-size: 2rem;
    margin: 0;
  }
}
.cart-description {
  max-width: 600px;
  font-size: 1.1rem;
  line-height: 4.5;
  margin-bottom: 1rem;
  text-align: center;
  margin: 0 auto;
}
@media (max-width: 899px) {
  .cart-description {
    line-height: 1.5;
  }
}
.cart-description p {
  color: #fff;
  margin: 0;
  text-align: center;
}
/* === LAYOUT PRINCIPALE === */
.cart-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3rem;
  padding-bottom: 4rem;
}
@media (max-width: 899px) {
  .cart-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/* === COLONNA PRODOTTI === */
.cart-products-column {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (max-width: 899px) {
  .cart-products-column {
    padding: 1rem;
  }
}
.cart-products-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eee;
}
.cart-products-header h2 {
  margin: 0;
  color: var(--colore-testi);
  text-transform: uppercase;
}
.cart-products-header .header-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.cart-products-header .cart-refresh-btn {
  position: absolute !important;
  top: -1rem !important;
  right: -1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  background: var(--colore-sfondo-2) !important;
  border: 1px solid #ddd !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  z-index: 90 !important;
  margin: 0 !important;
}
.cart-products-header .cart-refresh-btn svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--colore-testi-cards) !important;
  transition: transform 0.3s ease !important;
}
.cart-products-header .cart-refresh-btn:hover {
  background: var(--colore-testi-cards) !important;
  border-color: var(--colore-testi-cards) !important;
}
.cart-products-header .cart-refresh-btn:hover svg {
  color: var(--colore-testi-2) !important;
  transform: rotate(180deg) !important;
}
.cart-products-header .cart-refresh-btn:active svg {
  animation: refresh-spin 0.6s ease-in-out !important;
}
@media (max-width: 899px) {
  .cart-products-header .cart-refresh-btn {
    top: 1rem !important;
    right: 1rem !important;
    width: 30px !important;
    height: 30px !important;
  }
  .cart-products-header .cart-refresh-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
}
.cart-count {
  background: var(--colore-sfondo-2);
  color: var(--colore-testi-cards);
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  font-weight: bold;
}
/* === PULSANTE REFRESH FLUTTUANTE === */
.cart-page .cart-container .cart-products-column button.cart-refresh-btn {
  position: absolute !important;
  top: -1rem !important;
  right: -1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 35px !important;
  height: 35px !important;
  background: var(--colore-sfondo-2) !important;
  border: 1px solid #ddd !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
  z-index: 90 !important;
  margin: 0 !important;
}
.cart-page .cart-container .cart-products-column button.cart-refresh-btn svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--colore-testi-cards) !important;
  transition: transform 0.3s ease !important;
}
.cart-page .cart-container .cart-products-column button.cart-refresh-btn:hover {
  background: var(--colore-testi-cards) !important;
  border-color: var(--colore-testi-cards) !important;
}
.cart-page .cart-container .cart-products-column button.cart-refresh-btn:hover svg {
  color: var(--colore-testi-2) !important;
  transform: rotate(180deg) !important;
}
.cart-page .cart-container .cart-products-column button.cart-refresh-btn:active svg {
  animation: refresh-spin 0.6s ease-in-out !important;
}
@media (max-width: 899px) {
  .cart-page .cart-container .cart-products-column button.cart-refresh-btn {
    top: 1rem !important;
    right: 1rem !important;
    width: 30px !important;
    height: 30px !important;
  }
  .cart-page .cart-container .cart-products-column button.cart-refresh-btn svg {
    width: 14px !important;
    height: 14px !important;
  }
}
@keyframes refresh-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* === LISTA PRODOTTI === */
.cart-products-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
/* === SINGOLO PRODOTTO NEL CARRELLO === */
.cart-product-item {
  display: grid;
  grid-template-columns: 80px 250px auto auto auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #f0f0f0;
  /* === IMMAGINE PRODOTTO === */
  /* === DETTAGLI PRODOTTO === */
  /* === VARIANTI PRODOTTO === */
  /* === CONTROLLI QUANTITÀ === */
  /* === SUBTOTALE === */
  /* === RIMOZIONE PRODOTTO === */
}
@media (max-width: 899px) {
  .cart-product-item {
    grid-template-columns: 1fr;
    gap: 1rem;
    text-align: center;
  }
}
.cart-product-item .product-image {
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 899px) {
  .cart-product-item .product-image {
    width: 60px;
    height: 60px;
    justify-self: center;
  }
}
.cart-product-item .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-product-item .product-details {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media (max-width: 899px) {
  .cart-product-item .product-details {
    align-items: center;
  }
}
.cart-product-item .product-details .product-name {
  font-weight: bold;
  color: var(--colore-testi-cards);
}
.cart-product-item .product-details .product-name a {
  color: var(--colore-testi-cards);
  text-decoration: none;
  font-size: 1.6rem;
}
.cart-product-item .product-details .product-name a:hover {
  color: black;
}
.cart-product-item .product-details .product-price {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--colore-testi);
  margin-top: 15px;
  /* Forza colore per tutti gli elementi prezzo */
  /* Per prezzi scontati */
}
.cart-product-item .product-details .product-price * {
  color: var(--colore-testi) !important;
}
.cart-product-item .product-details .product-price .amount,
.cart-product-item .product-details .product-price .woocommerce-Price-amount,
.cart-product-item .product-details .product-price .woocommerce-price-amount,
.cart-product-item .product-details .product-price span {
  color: var(--colore-marrone) !important;
}
.cart-product-item .product-details .product-price del,
.cart-product-item .product-details .product-price del .amount,
.cart-product-item .product-details .product-price del .woocommerce-Price-amount {
  color: var(--colore-marrone) !important;
  opacity: 0.6;
}
.cart-product-item .product-details .product-price ins,
.cart-product-item .product-details .product-price ins .amount,
.cart-product-item .product-details .product-price ins .woocommerce-Price-amount {
  color: var(--colore-testi) !important;
  text-decoration: none;
}
.cart-product-item .product-variations {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
@media (max-width: 899px) {
  .cart-product-item .product-variations {
    justify-content: center;
  }
}
.cart-product-item .product-variations .variation-item {
  display: inline-flex;
  align-items: center;
  background: var(--colore-sfondo-2);
  color: var(--colore-testi-cards);
  border-radius: 20px;
  padding: 0.3rem 0.8rem;
  font-size: 0.8rem;
  font-weight: bold;
  line-height: 1.2;
}
@media (max-width: 899px) {
  .cart-product-item .product-variations .variation-item {
    font-size: 0.75rem;
    padding: 0.25rem 0.7rem;
  }
}
.cart-product-item .product-variations .variation-item .variation-label {
  color: var(--colore-testi-cards);
  margin-right: 4px;
}
.cart-product-item .product-variations .variation-item .variation-value {
  color: var(--colore-testi-cards);
  font-weight: bold;
}
@media (max-width: 899px) {
  .cart-product-item .product-quantity {
    justify-self: center;
  }
}
.cart-product-item .product-quantity .custom-quantity-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  margin-bottom: 0;
}
.cart-product-item .product-quantity .custom-quantity-controls .quantity-control {
  width: 35px;
  height: 35px;
}
.cart-product-item .product-quantity .custom-quantity-controls .quantity-control__arrow svg {
  width: 16px !important;
  height: 16px !important;
}
.cart-product-item .product-quantity .custom-quantity-controls .current-quantity {
  min-width: 50px;
  height: 35px;
}
.cart-product-item .product-quantity .custom-quantity-controls .current-quantity .quantity-number {
  font-size: 14px;
}
.cart-product-item .product-quantity .quantity-single {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 35px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #f8f8f8;
  font-size: 14px;
  font-weight: 600;
  color: var(--colore-testi-cards);
}
.cart-product-item .product-subtotal {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--colore-testi-cards);
  text-align: right;
  /* Forza colore per tutti gli elementi subtotale */
}
@media (max-width: 899px) {
  .cart-product-item .product-subtotal {
    justify-self: center;
  }
}
.cart-product-item .product-subtotal * {
  color: var(--colore-testi) !important;
  font-size: 1.5rem;
}
.cart-product-item .product-subtotal .amount,
.cart-product-item .product-subtotal .woocommerce-Price-amount,
.cart-product-item .product-subtotal .woocommerce-price-amount,
.cart-product-item .product-subtotal span {
  color: var(--colore-testi) !important;
}
.cart-product-item .product-remove {
  text-align: center;
}
@media (max-width: 899px) {
  .cart-product-item .product-remove {
    justify-self: center;
  }
}
.cart-product-item .product-remove .remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  background: var(--colore-sfondo-5);
  color: var(--colore-testi-2) !important;
  border-radius: 50%;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  transition: all 0.3s;
}
.cart-product-item .product-remove .remove:hover {
  background: var(--colore-sfondo-5);
  color: var(--colore-testi-2);
  opacity: 0.8;
}
/* === SEZIONE COUPON E AZIONI CARRELLO === */
.cart-actions {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #eee;
}
@media (max-width: 899px) {
  .cart-actions {
    flex-direction: column;
    align-items: stretch;
  }
}
.cart-coupon {
  flex: 1;
}
.cart-coupon .coupon {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 899px) {
  .cart-coupon .coupon {
    align-items: stretch;
  }
}
.cart-coupon .coupon label {
  font-family: "chillenregular", serif;
  font-weight: bold;
  color: var(--colore-testi);
  text-transform: uppercase;
  font-size: 1.5rem;
  margin: 0;
  letter-spacing: 0.5px;
}
.cart-coupon .coupon .coupon-input-group {
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 899px) {
  .cart-coupon .coupon .coupon-input-group {
    flex-direction: column;
    align-items: stretch;
  }
}
.cart-coupon .coupon input {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  color: var(--colore-testi);
  transition: all 0.3s ease;
  min-width: 200px;
}
.cart-coupon .coupon input:focus {
  border-color: var(--colore-testi);
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}
.cart-coupon .coupon input::placeholder {
  color: #999;
  font-style: italic;
}
@media (max-width: 899px) {
  .cart-coupon .coupon input {
    min-width: auto;
    width: 100%;
  }
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button {
  display: inline-block;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container .cta-button__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container .cta-button__bg span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--colore-testi);
  border-radius: 8px;
  transition: all 0.3s ease;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container .cta-button__wrapper {
  position: relative;
  z-index: 2;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container .cta-button__wrapper .cta-button__text {
  display: block;
  padding: 1rem 2rem;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-testi-2);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  transition: color 0.3s ease;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-dark);
  transform: scale(1.05);
}
@media (max-width: 899px) {
  .cart-coupon .coupon .coupon-button-wrapper {
    width: 100%;
  }
}
.cart-coupon .coupon .coupon-button-wrapper button {
  background: none;
  border: none;
  cursor: pointer;
  width: 100%;
  display: block;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__wrapper .cta-button__text {
  padding: 0 !important;
}
.cart-coupon .coupon .coupon-button-wrapper .cta-button .cta-button__wrapper .cta-button__text span {
  font-weight: 400 !important;
}
/* === CARRELLO VUOTO === */
.cart-empty {
  text-align: center;
  padding: 4rem 2rem;
}
.cart-empty .empty-cart-content h2 {
  margin-bottom: 1rem;
  color: var(--colore-testi);
}
.cart-empty .empty-cart-content p {
  margin-bottom: 2rem;
  color: var(--colore-testi);
  font-size: 1.1rem;
}
/* === COLONNA TOTALI === */
.cart-totals-column {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  height: fit-content;
  position: sticky;
  top: 2rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 899px) {
  .cart-totals-column {
    position: static;
    padding: 1rem;
  }
}
/* === TOTALI CARRELLO === */
.cart_totals {
  width: 100% !important;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cart_totals h2 {
  margin: 0 0 1.5rem;
  color: var(--colore-testi);
  text-transform: uppercase;
}
.cart_totals .shop_table {
  width: 100%;
  border-collapse: collapse;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  text-align: left;
}
.cart_totals .shop_table th {
  font-weight: normal;
  color: var(--colore-testi);
}
.cart_totals .shop_table td {
  text-align: right;
  font-weight: bold;
  color: var(--colore-testi);
  /* Forza colore per tutti gli elementi prezzo */
}
.cart_totals .shop_table td * {
  color: var(--colore-testi) !important;
}
.cart_totals .shop_table td .amount,
.cart_totals .shop_table td .woocommerce-Price-amount,
.cart_totals .shop_table td .woocommerce-price-amount,
.cart_totals .shop_table td span {
  color: var(--colore-testi) !important;
}
.cart_totals .shop_table_wrapper {
  flex: 1;
}
.cart_totals .order-total th,
.cart_totals .order-total td {
  font-size: 1.2rem;
  font-weight: bold;
  border-bottom: 2px solid var(--colore-testi);
  padding-bottom: 1rem;
  color: var(--colore-testi);
}
/* === OVERRIDE SPECIFICO PER TABELLA TOTALI === */
.cart-totals-column .cart_totals .shop_table .order-total,
.cart-totals-column .cart_totals .shop_table .order-total {
  display: table-row;
}
/* === PULSANTE CHECKOUT === */
.wc-proceed-to-checkout-custom {
  margin-top: auto;
  padding-top: 1.5rem;
}
.wc-proceed-to-checkout-custom .checkout-button-custom {
  width: 100%;
  display: flex;
  justify-content: center;
  text-decoration: none;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button {
  display: inline-block;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container .cta-button__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container .cta-button__bg span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--colore-testi);
  border-radius: 8px;
  transition: all 0.3s ease;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container .cta-button__wrapper {
  position: relative;
  z-index: 2;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container .cta-button__wrapper .cta-button__text {
  display: block;
  padding: 5px 56px;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button .cta-button__container .cta-button__wrapper .cta-button__text span {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-testi-2);
  font-size: 1.1rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  transition: color 0.3s ease;
}
.wc-proceed-to-checkout-custom .checkout-button-custom .cta-button:hover .cta-button__container .cta-button__bg span {
  background-color: var(--colore-testi-dark);
  transform: scale(1.05);
}
/* Nasconde il calcolatore spedizioni nel carrello */
/* Nasconde l'indirizzo di spedizione */
.woocommerce-shipping-destination {
  display: none !important;
}
/* Nasconde il pulsante "Modifica indirizzo" */
.shipping-calculator-button {
  display: none !important;
}
/* Nasconde il form del calcolatore spedizioni */
.shipping-calculator-form {
  display: none !important;
}
/* Nasconde l'intera sezione se contiene il calcolatore */
#shipping-calculator-form {
  display: none !important;
}
/* Selettore più specifico per override */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form {
  display: none !important;
}
/* Nasconde anche eventuali link di modifica indirizzo */
.cart_totals .shipping td a {
  display: none !important;
}
/* Mantiene solo il testo "Spedizione gratuita" ben visibile */
.cart_totals .shipping td {
  color: var(--colore-testi) !important;
  font-weight: bold !important;
}
/* === LINK POLITICHE RESO === */
.cart-policies-link {
  text-align: center;
  margin: 2rem 0;
  padding: 1rem;
}
.cart-policies-link p {
  margin: 0;
}
.cart-policies-link .policies-link {
  color: var(--colore-testi);
  text-decoration: underline;
  font-size: 0.95rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
.cart-policies-link .policies-link:hover {
  color: var(--colore-marrone);
  text-decoration: none;
}
@media (max-width: 899px) {
  .cart-policies-link {
    margin: 0;
    padding: 3rem;
  }
  .cart-policies-link .policies-link {
    font-size: 0.9rem;
  }
}
/* === PAGINA CHECKOUT WOOCOMMERCE === */
/* === CONTAINER PRINCIPALE === */
.checkout-page {
  background-color: var(--colore-sfondo-2);
  min-height: 100vh;
}
.checkout-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 5rem 2rem;
}
@media (max-width: 899px) {
  .checkout-container {
    padding: 0 1rem;
  }
}
/* === HERO SECTION === */
.checkout-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  min-height: 300px;
  overflow: hidden;
  margin-bottom: 2rem;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .checkout-hero {
    height: 45vh;
  }
}
.checkout-hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.checkout-hero .hero-image .img {
  width: 100%;
  height: 100%;
}
.checkout-hero .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.checkout-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  color: #fff;
  z-index: 2;
  text-align: center;
}
.checkout-hero-content h1 {
  font-size: 3rem;
  margin: 0 0 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
}
@media (max-width: 899px) {
  .checkout-hero-content h1 {
    font-size: 2rem;
  }
}
.checkout-description {
  max-width: 600px;
  font-size: 1.1rem;
  line-height: 4.5;
  margin-bottom: 1rem;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .checkout-description {
    line-height: 1.5;
  }
}
.checkout-description p {
  color: #fff;
  margin: 0;
}
/* === LAYOUT PRINCIPALE === */
.checkout-layout {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media (max-width: 899px) {
  .checkout-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
/* === COLONNA DATI CLIENTE === */
.checkout-billing-column {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
@media (max-width: 899px) {
  .checkout-billing-column {
    padding: 1rem;
  }
}
.checkout-billing-section,
.checkout-shipping-section,
.checkout-notes-section {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #f0f0f0;
}
.checkout-billing-section:last-child,
.checkout-shipping-section:last-child,
.checkout-notes-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.checkout-billing-section h2,
.checkout-billing-section h3,
.checkout-shipping-section h2,
.checkout-shipping-section h3,
.checkout-notes-section h2,
.checkout-notes-section h3 {
  margin: 0 0 1.5rem;
  color: var(--colore-marrone);
}
/* === NASCONDI TITOLO "DETTAGLI DI FATTURAZIONE" GENERATO DA WOOCOMMERCE === */
.woocommerce-billing-fields h3,
.woocommerce-billing-fields__field-wrapper h3,
.checkout-billing-section .woocommerce-billing-fields h3 {
  display: none !important;
}
/* === FORM FIELDS === */
.woocommerce form .form-row {
  margin-bottom: 1.5rem;
}
.woocommerce form .form-row label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--colore-marrone);
}
.woocommerce form .form-row .input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.3s;
}
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--colore-marrone);
  outline: none;
  box-shadow: 0 0 0 2px rgba(108, 99, 78, 0.1);
}
.woocommerce form .form-row .checkbox,
.woocommerce form .form-row input[type=radio] {
  width: auto;
  margin-right: 0.5rem;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: 48%;
}
@media (max-width: 899px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
    float: none;
  }
}
.woocommerce form .form-row-first {
  float: left;
  clear: left;
}
.woocommerce form .form-row-last {
  float: right;
  clear: right;
}
.woocommerce form .form-row-wide {
  clear: both;
  width: 100%;
}
/* === COLONNA ORDINE === */
.checkout-order-column {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  height: fit-content;
  position: sticky;
  top: 2rem;
}
@media (max-width: 899px) {
  .checkout-order-column {
    position: static;
    padding: 1rem;
  }
}
.checkout-order-review h2 {
  margin: 0 0 1.5rem;
  color: var(--colore-marrone);
}
/* === ORDER REVIEW TABLE === */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  text-align: left;
}
.woocommerce-checkout-review-order-table th {
  font-weight: bold;
  color: var(--colore-marrone);
}
.woocommerce-checkout-review-order-table td {
  color: var(--colore-marrone);
}
.woocommerce-checkout-review-order-table .product-name {
  font-weight: bold;
}
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal {
  text-align: right;
  font-weight: bold;
}
.woocommerce-checkout-review-order-table .product-total span,
.woocommerce-checkout-review-order-table .cart-subtotal span {
  color: var(--colore-marrone);
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total span {
  font-size: 1.2rem;
  font-weight: bold;
  padding-bottom: 1rem;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: var(--colore-marrone);
}
.variation,
.cart_item {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.variation th,
.variation td,
.variation p,
.cart_item th,
.cart_item td,
.cart_item p {
  font-size: 1.2rem;
  font-weight: bold;
  padding-bottom: 1rem;
  color: var(--colore-marrone);
}
/* === PAYMENT METHODS === */
.wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}
.wc_payment_method {
  margin-bottom: 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1rem;
  background: #f9f9f9;
}
.wc_payment_method input[type=radio] {
  margin-right: 0.5rem;
}
.wc_payment_method label {
  font-weight: bold;
  color: var(--colore-marrone);
  cursor: pointer;
  text-transform: uppercase;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.wc_payment_method img {
  width: 20%;
}
.payment_box {
  margin-top: 1rem;
  padding: 1rem;
  background: #fff;
  border-radius: 4px;
  font-size: 14px;
}
.payment_box p {
  color: black !important;
}
/* === PLACE ORDER BUTTON === */
#place_order {
  width: 100%;
  padding: 15px;
  background: #ffc67b;
  color: var(--color-beige);
  border: none;
  border-radius: 4px;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-top: 1rem;
}
#place_order:hover {
  background: #ffd7a3;
}
/* === TERMS AND CONDITIONS === */
.woocommerce-terms-and-conditions-wrapper {
  margin: 1.5rem 0;
  padding: 1rem;
  background: #f9f9f9;
  border-radius: 4px;
}
.woocommerce-terms-and-conditions-checkbox-text {
  font-size: 14px;
  color: var(--colore-marrone);
}
/* === SEZIONE SICUREZZA === */
.checkout-security-section {
  background: var(--color-beige-light);
  padding: 2rem 2rem 10rem 2rem;
}
@media (max-width: 899px) {
  .checkout-security-section {
    padding: 2rem 1rem;
  }
}
.checkout-security-section .title {
  text-align: center;
  margin-bottom: 3rem;
}
.checkout-security-section .title h2 {
  color: var(--colore-marrone);
  margin: 0;
}
.security-container {
  max-width: 1200px;
  margin: 0 auto;
}
.security-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}
@media (max-width: 899px) {
  .security-features {
    grid-template-columns: 1fr;
  }
}
.security-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
@media (max-width: 899px) {
  .security-item {
    flex-direction: column;
    text-align: center;
  }
}
.security-icon {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  background: var(--colore-marrone);
  color: var(--color-beige);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.security-text h4 {
  margin: 0 0 0.5rem;
  color: var(--colore-marrone);
  font-size: 1.8rem;
}
.security-text p {
  margin: 0;
  color: var(--colore-marrone);
  font-size: 0.9rem;
  opacity: 0.8;
}
/* === VALIDATION ERRORS === */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  border-left: 4px solid;
}
.woocommerce-error {
  background: #ffeaea;
  border-left-color: #e74c3c;
  color: #c0392b;
}
.woocommerce-message {
  background: #eafaf1;
  border-left-color: #27ae60;
  color: #27ae60;
}
.woocommerce-info {
  background: #e3f2fd;
  border-left-color: #2196f3;
  color: #1976d2;
}
/* === INVOICE SECTION === */
.invoice-section {
  margin: 2rem 0;
  padding: 1.5rem;
  background: #f9f9f9;
  border-radius: 8px;
  border-left: 4px solid var(--colore-marrone);
}
.invoice-section h3 {
  margin: 0 0 1rem;
  color: var(--colore-marrone);
  font-size: 2rem;
}
.request-invoice-field {
  margin-bottom: 1rem;
}
.request-invoice-field input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}
.request-invoice-field label {
  font-weight: bold;
  color: var(--colore-marrone);
  cursor: pointer;
}
.tax-code-field {
  transition: all 0.3s ease;
}
.tax-code-field.hidden {
  display: none;
}
.tax-code-field input {
  text-transform: uppercase;
  font-family: monospace;
  font-size: 16px;
  letter-spacing: 1px;
}
.tax-code-field input.success {
  border-color: #27ae60;
  box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.2);
}
.tax-code-field input.error {
  border-color: #e74c3c;
  box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2);
}
.tax-code-message {
  margin-top: 0.5rem;
  padding: 0.5rem;
  border-radius: 4px;
  font-size: 14px;
}
.tax-code-message--success {
  background: #eafaf1;
  color: #27ae60;
  border: 1px solid #27ae60;
}
.tax-code-message--error {
  background: #ffeaea;
  color: #e74c3c;
  border: 1px solid #e74c3c;
}
.tax-code-message--info {
  background: #e3f2fd;
  color: #1976d2;
  border: 1px solid #2196f3;
}
/* === ADMIN STYLES === */
.invoice-admin-section {
  background: #f8f9fa;
  padding: 15px;
  border-radius: 4px;
  margin-top: 15px;
  border-left: 4px solid #00a32a;
}
.woocommerce-billing-fields {
  font-size: 1.5rem;
}
.woocommerce table.shop_table th {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
}
.woocommerce-privacy-policy-text p {
  color: black;
}
.woocommerce-privacy-policy-text p a {
  color: var(--colore-marrone);
  font-weight: bold;
}
.Label {
  color: black !important;
}
label.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox span {
  color: black;
}
.u-lh.u-fs-sm.u-fw-medium.u-color-primary.u-mh-2 span {
  color: black !important;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: small !important;
}
.select2-container--default .select2-results > .select2-results__options {
  color: black !important;
}
/* ========================================
   MY ACCOUNT PAGE STYLES
======================================== */
/* Page Layout */
.myaccount-page {
  background-color: var(--colore-testi-2);
  min-height: 100vh;
}
/* Hero Section */
.account-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  overflow: hidden;
  margin-bottom: 2rem;
}
.account-hero .hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.account-hero .hero-image .img {
  width: 100%;
  height: 100%;
}
.account-hero .hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.account-hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 2rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  color: #fff;
  z-index: 2;
  text-align: center;
}
.account-hero-content h1 {
  font-size: 3rem;
  margin: 0 0 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
}
.account-description {
  max-width: 600px;
  font-size: 1.1rem;
  line-height: 4.5;
  margin-bottom: 1rem;
  text-align: center;
  margin: 0 auto;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .account-description {
    line-height: 1.5;
  }
}
.account-description p {
  color: #fff;
  margin: 0;
}
/* Main Container */
.account-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: block !important;
  padding-bottom: 10rem;
}
.account-container .woocommerce {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
/* ========================================
   SPECIAL ACTIONS BAR
======================================== */
.account-special-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding: 1rem 0;
}
.account-special-actions .left-actions {
  display: flex;
  gap: 1rem;
}
.account-special-actions .right-actions {
  display: flex;
  gap: 1rem;
}
/* Logout Button */
.logout-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.2rem;
  background: transparent;
  color: #e74c3c;
  text-decoration: none;
  border: 1px solid #e74c3c;
  border-radius: 5px;
  font-weight: 500;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  transition: all 0.3s ease;
}
.logout-btn:hover {
  background: #e74c3c;
  color: #fff;
  transform: translateY(-1px);
}
/* ========================================
   NAVIGATION MENU
======================================== */
/* Sovrascrivi il layout predefinito di WooCommerce */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 100% !important;
  float: none !important;
  margin-bottom: 2rem !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  width: 100% !important;
  float: none !important;
}
.account-navigation-horizontal {
  margin-bottom: 3rem;
  width: 100%;
}
.woocommerce-MyAccount-navigation {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
}
.woocommerce-MyAccount-navigation li {
  margin: 0 !important;
  border-right: none !important;
  border-bottom: none !important;
  flex: 0 0 auto !important;
  min-width: auto !important;
  max-width: none !important;
  display: block !important;
  float: none !important;
  position: relative !important;
}
.woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 1.5rem 2rem !important;
  color: var(--colore-testi) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-align: center !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.3s ease !important;
  background: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  position: relative !important;
}
.woocommerce-MyAccount-navigation li a:hover {
  background: none !important;
  color: var(--colore-testi-dark) !important;
  border-bottom-color: var(--colore-testi-light) !important;
}
.woocommerce-MyAccount-navigation li.is-active a {
  background: none !important;
  color: var(--colore-testi-dark) !important;
  font-weight: 600 !important;
  border-bottom-color: var(--colore-testi) !important;
}
.woocommerce-MyAccount-navigation li.is-active a::before {
  display: none !important;
}
/* Hide only logout from main menu */
.woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
  display: none !important;
}
/* ========================================
   MAIN CONTENT AREA
======================================== */
.account-content-full {
  width: 100% !important;
  display: block !important;
}
@media only screen and (min-width: 0px) and (max-width: 743px) {
  .account-content-full {
    padding-bottom: 2rem;
  }
}
.woocommerce-MyAccount-content {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 2rem !important;
  width: 100% !important;
  margin: 0 !important;
}
/* Welcome Message */
.account-welcome-message {
  background: linear-gradient(135deg, var(--colore-testi-2-light), #fff);
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid var(--colore-testi);
  margin-bottom: 2rem;
}
.account-welcome-message h2 {
  color: var(--colore-testi);
  margin: 0 0 0.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
}
.account-welcome-message p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
}
/* General Content Styling */
.woocommerce-MyAccount-content p {
  color: var(--colore-testi);
  line-height: 1.6;
  margin-bottom: 2rem;
  text-align: center;
}
.woocommerce-MyAccount-content a {
  color: #efc395;
  font-weight: bold;
  text-decoration: none;
}
.woocommerce-MyAccount-content a:hover {
  color: #efc395 !important;
}
/* ========================================
   ORDERS TABLE
======================================== */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.woocommerce-orders-table th,
.woocommerce-orders-table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
.woocommerce-orders-table th {
  background: var(--colore-testi-2-light);
  font-weight: bold;
  color: var(--colore-testi);
}
.woocommerce-orders-table td {
  color: var(--colore-testi);
}
.woocommerce-orders-table .button {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  padding: 6px 12px;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  font-size: 12px;
  font-weight: bold;
  transition: background-color 0.3s;
}
.woocommerce-orders-table .button:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
}
/* ========================================
   FORMS
======================================== */
/* Address Forms */
.woocommerce-address-fields h3 {
  color: var(--colore-testi);
  margin-bottom: 1.5rem;
}
.woocommerce-address-fields .form-row {
  margin-bottom: 1.5rem;
}
.woocommerce-address-fields label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: var(--colore-testi);
}
.woocommerce-address-fields .input-text,
.woocommerce-address-fields select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.3s;
}
.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields select:focus {
  border-color: var(--colore-testi);
  outline: none;
}
/* Edit Account Form */
.woocommerce-EditAccountForm .form-row {
  margin-bottom: 1.5rem;
}
.woocommerce-EditAccountForm label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: var(--colore-testi);
}
.woocommerce-EditAccountForm .input-text,
.woocommerce-EditAccountForm .input-password {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.3s;
}
.woocommerce-EditAccountForm .input-text:focus,
.woocommerce-EditAccountForm .input-password:focus {
  border-color: var(--colore-testi);
  outline: none;
}
.woocommerce-EditAccountForm .button {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  padding: 12px 24px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}
.woocommerce-EditAccountForm .button:hover {
  background: var(--colore-testi-dark);
}
/* Login/Register Forms */
.woocommerce-form-login,
.woocommerce-form-register {
  max-width: 400px;
  margin: 0 auto;
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
  margin-bottom: 1.5rem;
}
.woocommerce-form-login label,
.woocommerce-form-register label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: bold;
  color: var(--colore-testi);
}
.woocommerce-form-login .input-text,
.woocommerce-form-register .input-text {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  transition: border-color 0.3s;
}
.woocommerce-form-login .input-text:focus,
.woocommerce-form-register .input-text:focus {
  border-color: var(--colore-testi);
  outline: none;
}
.woocommerce-form-login .button,
.woocommerce-form-register .button {
  width: 100%;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  padding: 12px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-top: 1rem;
}
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover {
  background: var(--colore-testi-dark);
}
/* ========================================
   DOWNLOADS
======================================== */
.woocommerce-downloads-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}
.woocommerce-downloads-table th,
.woocommerce-downloads-table td {
  padding: 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
}
.woocommerce-downloads-table th {
  background: var(--colore-testi-2-light);
  font-weight: bold;
  color: var(--colore-testi);
}
.woocommerce-downloads-table td {
  color: var(--colore-testi);
}
.woocommerce-downloads-table .download-product {
  font-weight: bold;
}
.woocommerce-downloads-table .download-file a {
  color: var(--colore-testi);
  text-decoration: underline;
  font-weight: bold;
}
.woocommerce-downloads-table .download-file a:hover {
  color: var(--colore-testi-dark);
}
/* ========================================
   MESSAGES
======================================== */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: 1rem;
  margin-bottom: 1rem;
  border-radius: 4px;
  border-left: 4px solid;
}
.woocommerce-message {
  background: #eafaf1;
  border-left-color: #27ae60;
  color: #27ae60;
}
.woocommerce-error {
  background: #ffeaea;
  border-left-color: #e74c3c;
  color: #c0392b;
}
.woocommerce-info {
  background: #e3f2fd;
  border-left-color: #2196f3;
  color: #1976d2;
}
/* ========================================
  RESPONSIVE DESIGN
======================================== */
/* Mobile Responsive */
@media (max-width: 768px) {
  .account-hero {
    height: 45vh;
  }
  .account-hero-content h1 {
    font-size: 2rem;
  }
  .account-container {
    padding: 0 1rem;
  }
  /* Mobile menu - horizontal scrollable layout */
  .woocommerce-MyAccount-navigation {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    /* Nasconde la scrollbar per un aspetto più pulito */
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE/Edge */
  }
  .woocommerce-MyAccount-navigation::-webkit-scrollbar {
    display: none !important; /* Chrome/Safari */
  }
  .woocommerce-MyAccount-navigation ul {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    min-width: max-content !important;
  }
  .woocommerce-MyAccount-navigation li {
    border-bottom: none !important;
    border-right: 1px solid #f0f0f0 !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: 120px !important;
  }
  .woocommerce-MyAccount-navigation li:last-child {
    border-right: none !important;
  }
  .woocommerce-MyAccount-navigation li a {
    text-align: center !important;
    font-size: 14px !important;
    padding: 1rem 1rem !important;
    border-bottom: 3px solid transparent !important;
    display: block !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
  }
  .woocommerce-MyAccount-navigation li a:hover {
    border-bottom-color: var(--colore-testi-light) !important;
    background: none !important;
  }
  .woocommerce-MyAccount-navigation li.is-active a {
    border-bottom-color: var(--colore-testi) !important;
    background: none !important;
    font-weight: 600 !important;
  }
  /* Mobile actions bar */
  .account-special-actions {
    flex-direction: column;
    gap: 1rem;
    align-items: stretch;
  }
  .account-special-actions .left-actions,
  .account-special-actions .right-actions {
    justify-content: center;
  }
  .woocommerce-MyAccount-content {
    padding: 1rem !important;
  }
  /* Mobile table */
  .woocommerce-orders-table {
    font-size: 14px;
  }
  .woocommerce-orders-table th,
  .woocommerce-orders-table td {
    padding: 8px;
  }
  .woocommerce-orders-table th {
    display: none;
  }
  .woocommerce-orders-table td {
    display: block;
    text-align: right;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 40%;
  }
  .woocommerce-orders-table td:before {
    content: attr(data-title) ": ";
    position: absolute;
    left: 6px;
    width: 35%;
    text-align: left;
    font-weight: bold;
  }
  .woocommerce-orders-table tr {
    border: 1px solid #ccc;
    margin-bottom: 10px;
    display: block;
    border-radius: 4px;
    background: #f9f9f9;
  }
}
/* Tablet responsive */
@media (max-width: 992px) and (min-width: 769px) {
  .woocommerce-MyAccount-navigation li a {
    font-size: 12px !important;
    padding: 1.2rem 1rem !important;
  }
}
#account_display_name_description {
  color: black;
}
/* ========================================
   DASHBOARD STYLES
======================================== */
/* Welcome Section */
.dashboard-welcome {
  margin-bottom: 4rem;
}
.welcome-card {
  background: linear-gradient(135deg, var(--colore-testi-2-light), #fff);
  padding: 2rem;
  border-radius: 8px;
  border-left: 4px solid var(--colore-testi);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  text-align: center;
}
.welcome-card h2 {
  color: var(--colore-testi);
  margin: 0 0 1rem 0;
  font-size: 1.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.welcome-card p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.6;
}
/* Stats Section */
.dashboard-stats {
  margin-bottom: 4rem;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  justify-items: center;
}
.stat-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
.stat-icon {
  font-size: 2rem;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--colore-testi-2-light);
  border-radius: 50%;
}
.stat-content h3 {
  margin: 0 0 0.25rem 0;
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--colore-testi);
}
.stat-content p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.stats-grid.single-stat {
  justify-content: center;
}
.stats-grid.single-stat .stat-card {
  max-width: 300px;
}
/* Icone SVG */
.stat-icon svg,
.action-icon svg,
.tip-icon svg {
  color: var(--colore-testi);
}
/* Quick Actions */
.dashboard-quick-actions {
  margin-bottom: 4rem;
  text-align: center;
}
.dashboard-quick-actions h3,
.dashboard-recent-orders h3,
.dashboard-tips h3,
.dashboard-news h3 {
  color: var(--colore-testi);
  margin: 0 0 1.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}
.actions-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin: 0 auto;
}
.action-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 1rem;
  text-align: center;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
  border: 2px solid transparent;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  border-color: var(--colore-testi-light);
  color: inherit;
  text-decoration: none;
}
.action-icon {
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--colore-testi-2-light);
  border-radius: 8px;
}
.action-content h4 {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.action-content p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.9rem;
  opacity: 0.8;
}
/* Recent Orders */
.dashboard-recent-orders {
  margin-bottom: 4rem;
}
.orders-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.order-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  align-items: center;
}
.order-info h4 {
  margin: 0 0 0.25rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--colore-testi);
}
.order-date {
  margin: 0 0 0.5rem 0;
  color: var(--colore-testi);
  font-size: 0.9rem;
  opacity: 0.7;
}
.order-status {
  padding: 0.25rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}
.order-status.status-completed {
  background: #d4edda;
  color: #155724;
}
.order-status.status-processing {
  background: #fff3cd;
  color: #856404;
}
.order-status.status-pending {
  background: #f8d7da;
  color: #721c24;
}
.order-total {
  font-size: 1.1rem;
  font-weight: bold;
  color: var(--colore-testi);
}
.btn-view-order,
.btn-view-all {
  padding: 0.5rem 1rem;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  border: none;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  transition: background-color 0.3s ease;
}
.btn-view-order:hover,
.btn-view-all:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
}
.orders-footer {
  text-align: center;
}
/* Tips Section */
.dashboard-tips {
  margin-bottom: 4rem;
  text-align: center;
}
.tips-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}
.tip-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 1rem;
  border-left: 4px solid var(--colore-testi-light);
}
.tip-card.important {
  border-left-color: #e74c3c;
}
.tip-card.medical {
  border-left-color: #27ae60;
}
.tip-icon {
  font-size: 1.5rem;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--colore-testi-2-light);
  border-radius: 8px;
  flex-shrink: 0;
}
.tip-content h4 {
  margin: 0 0 0.75rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-align: left;
}
.tip-content p {
  margin: 0 0 1rem 0;
  color: var(--colore-testi);
  font-size: 0.95rem;
  line-height: 1.5;
  text-align: left;
}
.tip-link {
  color: var(--colore-testi);
  font-weight: 500;
  text-decoration: none;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  transition: color 0.3s ease;
}
.tip-link:hover {
  color: var(--colore-testi-dark);
  text-decoration: underline;
}
/* News Section */
.dashboard-news {
  margin-bottom: 2rem;
}
.news-placeholder,
.news-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.news-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-left: 4px solid var(--colore-testi);
}
.news-content h4 {
  margin: 0 0 0.75rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.news-content p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.95rem;
  line-height: 1.5;
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 768px) {
  .stats-grid,
  .actions-grid,
  .tips-grid {
    grid-template-columns: 1fr;
  }
  .order-card {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 1rem;
  }
  .action-card,
  .tip-card {
    flex-direction: column;
    text-align: center;
  }
  .tip-content {
    text-align: left;
  }
  .welcome-card,
  .stat-card,
  .action-card,
  .tip-card,
  .news-card {
    padding: 1rem;
  }
  .welcome-card h2 {
    font-size: 1.5rem;
  }
}
@media (max-width: 480px) {
  .dashboard-welcome,
  .dashboard-stats,
  .dashboard-quick-actions,
  .dashboard-recent-orders,
  .dashboard-tips,
  .dashboard-news {
    margin-bottom: 2rem;
  }
  .stat-card {
    flex-direction: column;
    text-align: center;
  }
}
/* ========================================
   ORDERS PAGE STYLES
======================================== */
.orders-page {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 16px;
}
/* Header Section */
.orders-header {
  margin-bottom: 2.5rem;
  text-align: center;
  padding: 1.75rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.orders-header h2 {
  color: var(--colore-testi);
  margin: 0 0 0.75rem 0;
  font-size: 1.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.orders-header p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1.05rem;
  opacity: 0.8;
}
/* Filtri (non attivi ma lasciati puliti) */
.orders-filters {
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
}
.filter-tabs {
  display: flex;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.filter-tab {
  padding: 0.9rem 1.5rem;
  background: transparent;
  border: none;
  color: var(--colore-testi);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: background 0.25s ease;
  border-right: 1px solid #e0e0e0;
}
.filter-tab:last-child {
  border-right: none;
}
.filter-tab:hover {
  background: var(--color-beige-light);
}
.filter-tab.active {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
}
/* Lista Ordini */
.orders-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.order-item {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.order-item:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}
/* Testata ordine: griglia a 3 colonne */
.order-main-info {
  display: grid;
  grid-template-columns: 0.5fr 0.8fr 0.6fr;
  align-items: center;
  gap: 24px;
  padding: 24px 28px;
}
.order-number-date {
  min-width: 220px;
}
.order-number-date h3 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.2px;
}
.order-date {
  margin-top: 4px;
  color: var(--colore-testi);
  font-size: 0.92rem;
  opacity: 0.7;
}
/* Stato */
.order-status {
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  display: inline-block;
  line-height: 1;
}
.order-status.status-completed {
  background: #dff5e6;
  color: #1e7a3b;
}
.order-status.status-processing {
  background: #fff1cc;
  color: #7a5b13;
}
.order-status.status-pending {
  background: #fde2e0;
  color: #8a2b26;
}
.order-status.status-on-hold {
  background: #eceff3;
  color: #3a4350;
}
.order-status.status-cancelled {
  background: #f9d8db;
  color: #7d1f28;
}
/* Totale */
.order-total-wrapper {
  min-width: 180px;
  text-align: right;
}
.order-total {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--colore-testi);
  margin: 0;
}
/* Dettagli Ordine (collassabili) */
.order-details {
  display: none;
  border-top: 1px solid #e0e0e0;
  background: var(--color-beige-light);
  padding: 20px 24px;
}
.order-item.details-open .order-details {
  display: block;
}
/* Prodotti */
.order-products {
  margin-bottom: 14px;
}
.order-product {
  display: grid;
  grid-template-columns: 0.2fr 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.order-product:last-child {
  border-bottom: none;
}
.product-image img {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 6px;
}
.product-info h4 {
  margin: 0 0 2px 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--colore-testi);
}
.product-info p {
  margin: 0;
  font-size: 0.86rem;
  color: var(--colore-testi);
  opacity: 0.75;
}
.product-variation {
  font-size: 0.82rem !important;
  font-style: italic;
  opacity: 0.75;
}
.product-price {
  font-weight: 700;
  color: var(--colore-testi);
  font-size: 0.98rem;
}
.more-products {
  text-align: center;
  color: var(--colore-testi);
  font-style: italic;
  margin: 8px 0 0;
  opacity: 0.65;
}
/* Informazioni Spedizione: 2 card ordinate */
.order-shipping-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding-top: 16px;
  border-top: 1px dashed rgba(0, 0, 0, 0.08);
}
.shipping-address,
.shipping-method {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 10px;
  padding: 14px 16px;
}
.shipping-address h5,
.shipping-method h5 {
  margin: 0 0 6px 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  opacity: 0.85;
}
.shipping-address p,
.shipping-method p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.95rem;
  line-height: 1.5;
}
/* Azioni Ordine */
.order-actions {
  padding: 14px 18px;
  background: #fff;
  border-top: 1px solid #e0e0e0;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.btn-toggle-details {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  background: var(--colore-testi);
  border: 1px solid var(--colore-testi);
  border-radius: 6px;
  color: var(--colore-testi-2);
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
}
.btn-toggle-details:hover {
  background: var(--colore-testi-dark);
  border-color: var(--colore-testi-dark);
}
.toggle-icon {
  transition: transform 0.25s ease;
}
.btn-view-order,
.btn-pay-order,
.btn-reorder {
  padding: 0.95rem 1.25rem !important;
  font-weight: normal !important;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.25s ease, color 0.25s ease;
  display: inline-block;
}
.btn-view-order {
  background: var(--colore-testi);
  color: var(--colore-testi-2) !important;
}
.btn-view-order:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
}
.btn-pay-order {
  background: #e74c3c;
  color: #fff;
}
.btn-pay-order:hover {
  background: #c0392b;
  color: #fff;
  text-decoration: none;
}
.btn-reorder {
  background: #27ae60;
  color: #fff;
}
.btn-reorder:hover {
  background: #229954;
  color: #fff;
  text-decoration: none;
}
/* Stato Vuoto */
.orders-empty {
  text-align: center;
  padding: 3rem 1.5rem;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
}
.empty-icon {
  margin-bottom: 1.5rem;
}
.empty-icon svg {
  color: var(--colore-testi-light);
  opacity: 0.5;
}
.orders-empty h3 {
  margin: 0 0 0.75rem 0;
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.orders-empty p {
  margin: 0 auto 1.5rem;
  color: var(--colore-testi);
  font-size: 1.05rem;
  line-height: 1.6;
  opacity: 0.85;
  max-width: 520px;
}
.btn-start-shopping {
  padding: 0.9rem 1.5rem;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.25s ease, color 0.25s ease;
  display: inline-block;
}
.btn-start-shopping:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
  transform: translateY(-1px);
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 992px) {
  .orders-header {
    margin-bottom: 2rem;
    padding: 1.25rem 0;
  }
  .order-main-info {
    grid-template-columns: 1fr 1fr; /* info | totale */
    gap: 16px;
    padding: 20px 22px;
  }
  .order-status-wrapper {
    grid-column: 1/-1;
    text-align: left;
  }
  .order-total-wrapper {
    text-align: left;
  }
  .order-shipping-info {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .filter-tabs {
    flex-wrap: wrap;
  }
  .filter-tab {
    padding: 0.7rem 1rem;
    font-size: 0.75rem;
    border-right: none;
    border-bottom: 1px solid #e0e0e0;
    flex: 1;
    text-align: center;
  }
  .filter-tab:last-child {
    border-bottom: none;
  }
  .order-main-info,
  .order-details {
    padding: 16px 18px;
  }
  .order-actions {
    padding: 12px 16px;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .order-actions button,
  .order-actions a {
    width: 100%;
    text-align: center;
  }
  .order-product {
    grid-template-columns: 52px 1fr auto;
    gap: 12px;
  }
  .product-price {
    justify-self: end;
  }
}
@media (max-width: 480px) {
  .orders-page {
    padding: 0 12px;
  }
  .orders-header h2 {
    font-size: 1.45rem;
  }
  .order-main-info {
    grid-template-columns: 1fr;
  }
  .order-total-wrapper {
    min-width: 0;
  }
  .order-details,
  .order-actions {
    padding: 12px;
  }
  .orders-empty {
    padding: 2rem 1rem;
  }
  .order-product {
    grid-template-columns: 48px 1fr auto;
    gap: 10px;
  }
}
/* ========================================
   DOCUMENT BUTTONS STYLES
======================================== */
.btn-request-receipt,
.btn-download-invoice,
.btn-download-receipt {
  padding: 0.95rem 1.25rem;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.25s ease, color 0.25s ease;
  display: inline-block;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
}
.btn-request-receipt:hover,
.btn-download-invoice:hover,
.btn-download-receipt:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
}
.btn-invoice-pending,
.btn-receipt-pending {
  padding: 0.75rem 1.25rem;
  border: 1px solid var(--colore-testi-light);
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  background: transparent;
  color: var(--colore-testi);
  cursor: default;
  display: inline-block;
  opacity: 0.7;
}
.btn-request-receipt.success-animation {
  background: #27ae60 !important;
  transform: scale(1.03);
}
.btn-request-receipt:disabled {
  background: var(--colore-testi-light);
  cursor: not-allowed;
  opacity: 0.6;
}
@media (max-width: 768px) {
  .btn-request-receipt,
  .btn-download-invoice,
  .btn-download-receipt,
  .btn-invoice-pending,
  .btn-receipt-pending {
    width: 100%;
    text-align: center;
    margin-bottom: 0.5rem;
  }
}
@media (max-width: 480px) {
  .btn-request-receipt,
  .btn-download-invoice,
  .btn-download-receipt,
  .btn-invoice-pending,
  .btn-receipt-pending {
    padding: 0.65rem 1rem;
    font-size: 0.82rem;
  }
}
/* Limita l’override ai <p> dentro la tua .orders-page */
.woocommerce-account .woocommerce-MyAccount-content .orders-page p {
  color: var(--colore-testi) !important;
  line-height: 1.5 !important;
  margin-bottom: 0 !important;
  text-align: left !important;
}
.woocommerce-account .woocommerce-MyAccount-content .orders-page .order-total-wrapper .woocommerce-Price-amount.amount {
  font-size: 25px !important;
  color: var(--colore-testi) !important;
}
.woocommerce-account .woocommerce-MyAccount-content .orders-page .order-item .order-total-wrapper .woocommerce-Price-amount .woocommerce-Price-currencySymbol {
  color: var(--colore-testi) !important;
}
/* Prezzo riga prodotto dentro la card ordine (Il mio account > Ordini) */
.woocommerce-account .woocommerce-MyAccount-content .orders-page .order-item .order-details .order-products .order-product .product-price .woocommerce-Price-amount.amount,
.woocommerce-account .woocommerce-MyAccount-content .orders-page .order-item .order-details .order-products .order-product .product-price .woocommerce-Price-amount.amount bdi {
  color: var(--colore-testi) !important;
  font-size: 20px;
}
/* Simbolo valuta nella stessa riga prezzo */
.woocommerce-account .woocommerce-MyAccount-content .orders-page .order-item .order-details .order-products .order-product .product-price .woocommerce-Price-currencySymbol {
  color: var(--colore-testi) !important;
}
/* ========================================
   ADDRESSES LIST STYLES
======================================== */
.addresses-page {
  width: 100%;
}
.addresses-header {
  margin-bottom: 3rem;
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.addresses-header h2 {
  color: var(--colore-testi);
  margin: 0 0 1rem 0;
  font-size: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.addresses-header p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1.1rem;
  opacity: 0.8;
}
.addresses-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 2rem;
}
.address-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s ease;
}
.address-card:hover {
  transform: translateY(-2px);
}
.address-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  background: var(--color-beige-light);
  border-bottom: 1px solid #e0e0e0;
}
.address-header h3 {
  margin: 0;
  color: var(--colore-testi);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.btn-edit-address {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  text-decoration: none;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  transition: all 0.3s ease;
}
.btn-edit-address:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
}
.address-content {
  padding: 1.5rem;
  color: var(--colore-testi);
  line-height: 1.6;
}
.no-address {
  font-style: italic;
  opacity: 0.7;
}
@media (max-width: 768px) {
  .addresses-list {
    grid-template-columns: 1fr;
  }
  .address-header {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}
/* ========================================
   EDIT ADDRESS PAGE STYLES
======================================== */
.edit-address-page {
  width: 100%;
}
/* Header Section */
.edit-address-header {
  margin-bottom: 3rem;
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.edit-address-header h2 {
  color: var(--colore-testi);
  margin: 0 0 1rem 0;
  font-size: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.edit-address-header p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1.1rem;
  opacity: 0.8;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}
/* Address Switcher */
.address-switcher {
  margin-bottom: 3rem;
  display: flex;
  justify-content: center;
}
.address-tabs {
  display: flex;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.address-tab {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 2rem;
  background: transparent;
  color: var(--colore-testi);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  border-right: 1px solid #e0e0e0;
  min-width: 160px;
  justify-content: center;
}
.address-tab:last-child {
  border-right: none;
}
.address-tab:hover {
  background: var(--color-beige-light);
  text-decoration: none;
  color: var(--colore-testi);
}
.address-tab.active {
  background: var(--colore-testi);
  color: var(--color-beige);
}
.address-tab svg {
  flex-shrink: 0;
}
/* Form Container */
.edit-address-form {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 2.5rem;
  margin-bottom: 3rem;
}
/* Address Fields Grid */
.address-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  margin-bottom: 3rem;
}
/* Full width fields */
.billing_company-field,
.shipping_company-field,
.billing_address_1-field,
.shipping_address_1-field,
.billing_address_2-field,
.shipping_address_2-field {
  grid-column: 1/-1;
}
/* Form Field Styling */
.form-field {
  display: flex;
  flex-direction: column;
}
.form-field label {
  margin-bottom: 0.75rem;
  font-size: 14px;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.form-field .required {
  color: #e74c3c;
  font-weight: bold;
}
.form-field input[type=text],
.form-field input[type=email],
.form-field input[type=tel],
.form-field textarea,
.form-field select {
  padding: 1rem;
  border: 2px solid #e0e0e0;
  border-radius: 6px;
  font-size: 15px;
  color: var(--colore-testi);
  background: #fff;
  transition: all 0.3s ease;
  font-family: inherit;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  outline: none;
  border-color: var(--colore-testi);
  box-shadow: 0 0 0 3px rgba(108, 99, 78, 0.1);
}
.form-field input:invalid,
.form-field textarea:invalid,
.form-field select:invalid {
  border-color: #e74c3c;
}
.form-field input:valid,
.form-field textarea:valid,
.form-field select:valid {
  border-color: #27ae60;
}
.form-field textarea {
  resize: vertical;
  min-height: 100px;
}
.form-field select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236c634e' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}
.form-field.required input,
.form-field.required textarea,
.form-field.required select {
  border-left-width: 4px;
  border-left-color: var(--colore-testi-light);
}
/* Field Description */
.field-description {
  margin-top: 0.5rem;
  font-size: 12px;
  color: var(--colore-testi);
  opacity: 0.7;
  font-style: italic;
}
/* Form Actions */
.form-actions {
  display: flex;
  gap: 1rem;
  padding-top: 2rem;
  border-top: 1px solid #e0e0e0;
  align-items: center;
}
.btn-save-address,
.btn-cancel {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-save-address {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
}
.btn-save-address:hover {
  background: var(--colore-testi-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(108, 99, 78, 0.3);
}
.btn-cancel {
  background: transparent;
  color: var(--colore-testi);
  border: 2px solid #e0e0e0;
}
.btn-cancel:hover {
  background: #f5f5f5;
  border-color: var(--colore-testi-light);
  color: var(--colore-testi);
  text-decoration: none;
}
/* Address Info */
.address-info {
  margin-bottom: 2rem;
}
.info-card {
  background: linear-gradient(135deg, var(--color-beige-light), #fff);
  padding: 2rem;
  border-radius: 8px;
  border-left: 4px solid var(--colore-testi);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}
.info-card h4 {
  color: var(--colore-testi);
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.info-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.info-card li {
  color: var(--colore-testi);
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 0.75rem;
  position: relative;
  padding-left: 1.5rem;
}
.info-card li:before {
  content: "•";
  color: var(--colore-testi);
  font-weight: bold;
  position: absolute;
  left: 0;
}
.info-card li:last-child {
  margin-bottom: 0;
}
/* Empty State */
.address-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.empty-icon {
  margin-bottom: 2rem;
}
.empty-icon svg {
  color: var(--colore-testi-light);
  opacity: 0.5;
}
.address-empty h3 {
  margin: 0 0 1rem 0;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.address-empty p {
  margin: 0 0 2rem 0;
  color: var(--colore-testi);
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.8;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
.btn-back {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-back:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
  transform: translateY(-2px);
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 992px) {
  .address-fields {
    grid-template-columns: 1fr;
  }
  .form-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .btn-save-address,
  .btn-cancel {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .edit-address-header {
    margin-bottom: 2rem;
    padding: 1rem 0;
  }
  .edit-address-header h2 {
    font-size: 1.5rem;
  }
  .address-tabs {
    flex-direction: column;
    width: 100%;
  }
  .address-tab {
    border-right: none;
    border-bottom: 1px solid #e0e0e0;
    min-width: auto;
  }
  .address-tab:last-child {
    border-bottom: none;
  }
  .edit-address-form {
    padding: 1.5rem;
  }
  .address-fields {
    gap: 1.5rem;
  }
  .form-field input,
  .form-field textarea,
  .form-field select {
    padding: 0.75rem;
  }
  .info-card {
    padding: 1.5rem;
  }
}
@media (max-width: 480px) {
  .edit-address-page {
    margin: 0 -1rem;
  }
  .edit-address-form,
  .info-card {
    padding: 1rem;
  }
  .address-empty {
    padding: 2rem 1rem;
  }
  .form-actions {
    gap: 0.75rem;
  }
  .btn-save-address,
  .btn-cancel {
    padding: 0.75rem 1.5rem;
    font-size: 13px;
  }
}
/* ========================================
   FORM VALIDATION STATES
======================================== */
.form-field.has-error input,
.form-field.has-error textarea,
.form-field.has-error select {
  border-color: #e74c3c;
  box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
}
.form-field.has-success input,
.form-field.has-success textarea,
.form-field.has-success select {
  border-color: #27ae60;
  box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.1);
}
.form-field .error-message {
  margin-top: 0.5rem;
  color: #e74c3c;
  font-size: 12px;
  font-weight: 500;
}
.form-field .success-message {
  margin-top: 0.5rem;
  color: #27ae60;
  font-size: 12px;
  font-weight: 500;
}
/* Loading State */
.btn-save-address.loading {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}
.btn-save-address.loading:after {
  content: "";
  margin-left: 0.5rem;
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.woocommerce-account .addresses .title .edit {
  float: none;
  text-align: center;
  margin: 0 auto;
}
.woocommerce-Address h2 {
  margin-bottom: 1rem;
  color: black;
}
.woocommerce-Address address {
  margin-top: 2rem;
  font-style: normal;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* ========================================
   PAYMENT METHODS PAGE STYLES
======================================== */
.payment-methods-page {
  width: 100%;
}
/* Header Section */
.payment-methods-header {
  margin-bottom: 3rem;
  text-align: center;
  padding: 2rem 0;
  border-bottom: 1px solid #e0e0e0;
}
.payment-methods-header h2 {
  color: var(--colore-testi);
  margin: 0 0 1rem 0;
  font-size: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.payment-methods-header p {
  color: var(--colore-testi);
  margin: 0;
  font-size: 1.1rem;
  opacity: 0.8;
  max-width: 600px;
  margin: 0 auto;
  line-height: 1.5;
}
/* Payment Methods List */
.payment-methods-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3rem;
}
.payment-method-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  position: relative;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
.payment-method-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
.payment-method-card.is-default {
  border-color: var(--colore-testi-light);
}
.payment-method-info {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.payment-method-icon {
  width: 50px;
  height: 50px;
  background: var(--color-beige-light);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.payment-method-icon svg {
  color: var(--colore-testi);
}
.payment-method-details h4 {
  margin: 0 0 0.5rem 0;
  color: var(--colore-testi);
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.card-details {
  margin: 0 0 0.25rem 0;
  color: var(--colore-testi);
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.card-number {
  font-family: "Courier New", monospace;
  letter-spacing: 1px;
}
.card-brand {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  padding: 0.2rem 0.5rem;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: bold;
  letter-spacing: 0.5px;
}
.expiry-date,
.gateway {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.85rem;
  opacity: 0.7;
}
.gateway {
  text-transform: capitalize;
}
/* Default Badge */
.default-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #27ae60;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.default-badge svg {
  fill: currentColor;
  stroke: none;
}
/* Payment Method Actions */
.payment-method-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.btn-delete-method,
.btn-set-default {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-delete-method {
  background: #e74c3c;
  color: #fff;
}
.btn-delete-method:hover {
  background: #c0392b;
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.btn-set-default {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
}
.btn-set-default:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
  transform: translateY(-1px);
}
/* Empty State */
.payment-methods-empty {
  text-align: center;
  padding: 4rem 2rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 3rem;
}
.empty-icon {
  margin-bottom: 2rem;
}
.empty-icon svg {
  color: var(--colore-testi-light);
  opacity: 0.5;
}
.payment-methods-empty h3 {
  margin: 0 0 1rem 0;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--colore-testi);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.payment-methods-empty p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.8;
  max-width: 500px;
  margin: 0 auto;
}
/* Payment Methods Actions */
.payment-methods-actions {
  display: flex;
  gap: 1rem;
  margin-bottom: 3rem;
  justify-content: center;
  flex-wrap: wrap;
}
.btn-add-payment-method,
.btn-view-orders {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
}
.btn-add-payment-method {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
}
.btn-add-payment-method:hover {
  background: var(--colore-testi-dark);
  color: var(--colore-testi-2);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(108, 99, 78, 0.3);
}
.btn-view-orders {
  background: transparent;
  color: var(--colore-testi);
  border: 2px solid var(--colore-testi-light);
}
.btn-view-orders:hover {
  background: var(--colore-testi-light);
  color: var(--colore-testi-2);
  border-color: var(--colore-testi-light);
  text-decoration: none;
  transform: translateY(-2px);
}
/* Security Info */
.payment-security-info {
  margin-bottom: 2rem;
}
.security-card {
  background: linear-gradient(135deg, #e8f5e8, #fff);
  padding: 2rem;
  border-radius: 8px;
  border-left: 4px solid #27ae60;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.security-icon {
  width: 50px;
  height: 50px;
  background: #27ae60;
  color: #fff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.security-content h4 {
  margin: 0 0 0.75rem 0;
  color: var(--colore-testi);
  font-size: 1.1rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.security-content p {
  margin: 0;
  color: var(--colore-testi);
  font-size: 0.95rem;
  line-height: 1.6;
  opacity: 0.9;
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 992px) {
  .payment-method-info {
    flex-direction: column;
    text-align: center;
    gap: 1rem;
  }
  .payment-method-actions {
    justify-content: center;
  }
  .card-details {
    justify-content: center;
  }
  .security-card {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .payment-methods-header {
    margin-bottom: 2rem;
    padding: 1rem 0;
  }
  .payment-methods-header h2 {
    font-size: 1.5rem;
  }
  .payment-method-card {
    padding: 1.5rem;
  }
  .default-badge {
    position: static;
    margin-bottom: 1rem;
    align-self: flex-start;
  }
  .payment-method-actions {
    flex-direction: column;
  }
  .btn-delete-method,
  .btn-set-default {
    justify-content: center;
  }
  .payment-methods-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .btn-add-payment-method,
  .btn-view-orders {
    justify-content: center;
  }
  .security-card {
    padding: 1.5rem;
  }
}
@media (max-width: 480px) {
  .payment-methods-page {
    margin: 0 -1rem;
  }
  .payment-method-card,
  .security-card {
    padding: 1rem;
  }
  .payment-methods-empty {
    padding: 2rem 1rem;
  }
  .card-details {
    flex-direction: column;
    gap: 0.5rem;
  }
  .btn-add-payment-method,
  .btn-view-orders,
  .btn-delete-method,
  .btn-set-default {
    padding: 0.75rem 1.5rem;
    font-size: 13px;
  }
}
/* ========================================
   LOADING & INTERACTION STATES
======================================== */
.payment-method-card.loading {
  opacity: 0.7;
  pointer-events: none;
}
.payment-method-card.removing {
  animation: slideOut 0.3s ease-out forwards;
}
@keyframes slideOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-100%);
  }
}
.btn-delete-method.confirming {
  background: #a93226;
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(231, 76, 60, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(231, 76, 60, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(231, 76, 60, 0);
  }
}
/* Success message styles */
.payment-method-success {
  background: #d4edda;
  color: #155724;
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  border-left: 4px solid #27ae60;
}
/* Error message styles */
.payment-method-error {
  background: #f8d7da;
  color: #721c24;
  padding: 1rem;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  border-left: 4px solid #e74c3c;
}
/* ========================================
   VIEW ORDER PAGE STYLES
======================================== */
.view-order-page {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
/* Header ordine */
.view-order-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid var(--colore-testi);
  flex-wrap: wrap;
  gap: 1.5rem;
}
.view-order-header-content h2 {
  color: var(--colore-testi);
  margin: 0 0 0.5rem 0;
  font-size: 2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.view-order-date {
  margin: 0 !important;
  font-size: 1rem;
  opacity: 0.7;
}
.view-order-status-wrapper {
  flex-shrink: 0;
}
.view-order-status {
  padding: 0.75rem 1.5rem;
  border-radius: 25px;
  font-size: 0.9rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: inline-block;
}
.view-order-status-completed {
  background: #d4edda;
  color: #155724;
}
.view-order-status-processing {
  background: #fff3cd;
  color: #856404;
}
.view-order-status-pending {
  background: #f8d7da;
  color: #721c24;
}
.view-order-status-on-hold {
  background: #e2e3e5;
  color: #383d41;
}
.view-order-status-cancelled {
  background: #f5c6cb;
  color: #721c24;
}
/* Titoli sezione */
.view-order-section-title {
  color: var(--colore-testi);
  margin: 0 0 1.5rem 0;
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
/* Prodotti ordinati */
.view-order-products {
  margin-bottom: 3rem;
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.view-order-products-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.view-order-product-item {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 1.5rem;
  align-items: center;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(108, 99, 78, 0.1);
}
.view-order-product-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.view-order-product-image img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}
.view-order-product-name {
  color: var(--colore-testi);
  margin: 0 0 0.5rem 0;
  font-size: 1.5rem;
  font-weight: 600;
}
.view-order-product-meta {
  margin: 0.5rem 0;
  font-size: 0.9rem;
  color: var(--colore-testi);
  opacity: 0.7;
}
.view-order-product-meta dl {
  margin: 0;
}
.view-order-product-meta dt,
.view-order-product-meta dd {
  display: inline;
  margin: 0;
}
.view-order-product-meta dt {
  font-weight: 600;
}
.view-order-product-quantity {
  color: var(--colore-testi);
  margin: 0 !important;
  font-size: 0.9rem;
  text-align: left !important;
  opacity: 0.7;
}
.view-order-product-price {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--colore-testi);
  text-align: right;
}
/* Griglia informazioni */
.view-order-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}
.view-order-info-card {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.view-order-address {
  color: var(--colore-testi);
  line-height: 1.6;
  margin-bottom: 1rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.view-order-phone,
.view-order-email,
.view-order-payment-method,
.view-order-shipping-method {
  color: var(--colore-testi);
  margin: 0 !important;
  text-align: left !important;
  line-height: 1.6;
}
/* Totali ordine */
.view-order-totals {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 3rem;
}
.view-order-totals-table {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 400px;
  margin-left: auto;
}
.view-order-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(108, 99, 78, 0.1);
}
.view-order-total-row:last-child {
  border-bottom: none;
}
.view-order-total-row-final {
  border-top: 2px solid var(--colore-testi);
  padding-top: 1rem;
  margin-top: 0.5rem;
  font-size: 1.2rem;
  font-weight: bold;
}
.view-order-total-label {
  color: var(--colore-testi);
  font-weight: 500;
}
.view-order-total-value {
  color: var(--colore-testi);
  font-weight: 600;
}
/* Azioni ordine */
.view-order-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.view-order-btn {
  padding: 1rem 2rem;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 500;
  font-weight: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-block;
}
.view-order-btn-back {
  background: transparent;
  color: var(--colore-testi) !important;
  border: 1px solid var(--colore-testi);
}
.view-order-btn-back:hover {
  background: var(--colore-testi);
  color: var(--colore-testi-2);
  text-decoration: none;
}
.view-order-btn-pay {
  background: #e74c3c;
  color: #fff;
}
.view-order-btn-pay:hover {
  background: #c0392b;
  color: #fff;
  text-decoration: none;
}
/* Note ordine */
.view-order-notes {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-left: 4px solid var(--colore-testi);
}
.view-order-customer-note {
  color: var(--colore-testi);
  line-height: 1.6;
  margin: 0;
}
/* ========================================
   RESPONSIVE DESIGN
======================================== */
@media (max-width: 992px) {
  .view-order-info-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .view-order-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .view-order-header-content h2 {
    font-size: 1.5rem;
  }
  .view-order-product-item {
    grid-template-columns: 60px 1fr;
    gap: 1rem;
  }
  .view-order-product-price {
    grid-column: 2;
    text-align: left;
    margin-top: 0.5rem;
  }
  .view-order-totals-table {
    max-width: 100%;
  }
  .view-order-actions {
    flex-direction: column;
  }
  .view-order-btn {
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .view-order-products,
  .view-order-info-card,
  .view-order-totals,
  .view-order-notes {
    padding: 1.5rem;
  }
  .view-order-header {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
  }
  .view-order-section-title {
    font-size: 1.1rem;
  }
}
/* Override specifico per woocommerce-Price-amount solo in view-order */
.woocommerce-MyAccount-content .view-order-page .woocommerce-Price-amount {
  color: var(--colore-testi) !important;
  font-size: inherit !important;
}
.woocommerce-MyAccount-content .view-order-page .woocommerce-Price-amount bdi {
  color: var(--colore-testi) !important;
}
.woocommerce-MyAccount-content .view-order-page .woocommerce-Price-currencySymbol {
  color: var(--colore-testi) !important;
}/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
