/*
	Theme Name: Aquanatura
	Theme URI: https://aquanatura.it
	Description: Offriamo impianti per la creazione di serre in idroponica
	Version: 1.4.3
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/


/*------------------------------------*\
    IMPORT
\*------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');                   /* josefin */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');             /* jakarta */
@import url('https://fonts.googleapis.com/css2?family=Corben:wght@400;700&display=swap');                                          /* corben  */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap'); /*Fraunces*/
@import url('https://fonts.googleapis.com/css2?family=Sour+Gummy:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Grandstander:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zalando+Sans+SemiExpanded:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Zalando+Sans+SemiExpanded:ital,wght@0,200..900;1,200..900&display=swap');

@font-face {
    font-family: "fontAquanaturaBold";
    src: url(fonts/Bauhaus-Bugler-W00/Bauhaus-Bugler-W00-Medium.ttf);
}

@font-face {
    font-family: "fontAquanaturaRegular";
    src: url(fonts/Bauhaus-Bugler-W00/Bauhaus-Bugler-W00-Regular.ttf);
}



/*------------------------------------*\
    MAIN
\*------------------------------------*/


:root{
    --colore-acqua-profonda: #0a6860;
    --colore-acqua-oceano: #089584;
    --colore-acqua-chiara: #05c4b7;
    --colore-acqua-cristallina: #37d0af;
    --colore-acqua-trasparente: #EEFDFF; 
    --colore-acqua-schiuma: #b8e7ec3d;
    --colore-testo: #525560; 
    --colore-nero: #121212;
    --colore-testo-nero: #363636;
    --colore-sfondo: #fafafa;
    --colore-sezione: #0a4d680d;
    --colore-bordino: #ecececc2;
    --dot-size: 14px;
    --dot-color: #00ffbb5f ;
    --ripple-color: rgba(19, 196, 122, 0.623);
    --font-testo: 'Nunito Sans', sans-serif;
}
 
/* 
:root{
    --colore-acqua-profonda: #213555;      

    --colore-acqua-oceano: #3E5879;        

    --colore-acqua-chiara: #739ed677;        

    --colore-acqua-cristallina: rgba(207, 233, 246, 0.267);   

    --colore-acqua-trasparente: rgba(223, 242, 251, 0.294);   

    --colore-acqua-schiuma: #3e587931;       

    --colore-testo: #41464F;               

    --colore-nero: #1A1A1A;

    --colore-testo-nero: #6E7880;

    --colore-sfondo: #F5EFE7;              

    --colore-sezione: #D8C4B6;             

    --colore-bordino: #d0d8dd;             

    --dot-size: 14px;
    --dot-color: #74D3B54D;                

    --ripple-color: rgba(116, 211, 181, 0.35);
}
 */

::selection{
    background-color: var(--colore-acqua-profonda);
    color: var(--colore-acqua-trasparente);
}

  /* PALLINO */
  .cursor-dot {
    z-index: 999999999;
    position: fixed;
    width: var(--dot-size);
    height: var(--dot-size);
    background: var(--dot-color);
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
  }

  /* CERCHIO RIPPLE */
  .cursor-ripple {
    position: fixed;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--ripple-color);
    pointer-events: none;
    z-index: 999998;
    transform: translate(-50%, -50%);
    animation: rippleAnim 0.45s ease-out forwards;
  }

  @keyframes rippleAnim {
    0% {
      transform: translate(-50%, -50%) scale(0.2);
      opacity: 0.8;
    }
    100% {
      transform: translate(-50%, -50%) scale(2.4);
      opacity: 0;
    }
  }

  .app-mobile .cursor-dot{
    display: none;
  }

body {
	font-family: var(--font-testo);
    font-optical-sizing: auto;
    font-weight: 500 16px/1.2;
    font-style: normal;
	color: var(--colore-testo);
    background-color: var(--colore-sfondo);
}

main {
    padding-top: 74px;
}

body:not(.app-loaded) img {
    opacity: 0;
    transition: opacity 0.8s ease;
}

body.app-loaded  > .wrapper {
    opacity: 1;
}

a {
	color: black;
    font-weight: 500;
	text-decoration: none;
    cursor: pointer;
    font-family: "fontAquanaturaBold", sans-serif; 

}

section {
    padding: 80px 10%;
    margin: 0 10px;
}



section.full {
    padding: 0;
}

.heading {
    display: flex;
    flex-direction: column;
    margin: 20px 0px;
    margin-top: 30px;
    gap: 5px;
}
.heading h2 {
    font-size: 1.6em;
}
.heading p {
    font-size: 1.08em;
}
.col .heading h2 {
    font-size: 1.4em;
}
.col .heading p {
    font-size: 1em;
}
/* 
table {
    width: 100%;
    border-top: 1px solid #1a1a1a;
}
table tr {
    border-bottom: 1px solid #1a1a1a;
}
table th,
table td {
    padding: 10px 15px;
    border-right: 1px solid #1a1a1a;
    text-align: left;
}
table th:first-child,
table td:first-child {
    border-left: 1px solid #1a1a1a;
}
 */
picture.icona {
    width: 150px;
    padding: 20px;
    border-radius: 15px;
    background-color: #e9ecef;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
}

ul { list-style-type: none; }

body.main-navmenu-open {
    overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	padding: 0;
	margin:  0;
	line-height: 1.2;
	font-weight: normal;
}

h1 {
	font-size: 64px;
	line-height: 1.3;
    font-family: "fontAquanaturaBold"; 
    text-transform: uppercase;
    color: white;
    margin: 0;
    margin-bottom: 10px; 
}
h2{
	font-size: 4.4em;
    margin-bottom: 20px;
	line-height: 1.3;
    font-weight: 600;
    font-family: "fontAquanaturaBold"; 
    color: var(--colore-acqua-profonda);
}
h3 {
    font-size: 2.6em;
	line-height: 1.4;
    font-weight: 600;
    font-family: "fontAquanaturaBold"; 
    color: var(--colore-acqua-profonda);;
}
h4 {
    font-family: "fontAquanaturaRegular"; 
	font-size: 1.68em;
	line-height: 1.4;
    font-weight: 500;
    color: var(--colore-acqua-profonda);;
}
h5 {
	font-size: 1.1em;
	line-height: 1;
    font-weight: 620;
    color: var(--colore-acqua-profonda);;
}
h6 {
	font-size: 1.068em;
	line-height: 1;
    font-weight: 550;
    color: var(--colore-acqua-profonda);;
}

p,li,input {
    font-family: var(--font-testo);
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.85;
}

li{
    font-family: "fontAquanaturaBold"; 
}

.row {
    display: flex;
    gap: 60px;
    width: 100%;
    padding: 2%;
}
.row .col {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.app-mobile .row {
    flex-direction: column;
}

.app-mobile #menu-item-30{
    background-color: unset;
    border: none;
}

.app-mobile #menu-item-30 a{
    color: var(--colore-testo-nero); 

}

.app-mobile #menu-item-28{
    background-color: unset;
    border: none;
}

.app-mobile #menu-item-28 a{
    color: var(--colore-testo-nero); 

}

.app-mobile #servizi .row{
    flex-direction: row;
} 


/* CSS */
.btn,
.simpay-btn.simpay-payment-btn {
  align-self: baseline;
  font-size: 16px;
  background-color: white;
  background-image: none;
  background-position: 0 90%;
  background-repeat: repeat no-repeat;
  background-size: 4px 3px;
  border-radius: 15px 225px 255px 15px 15px 255px 225px 15px;
  border-style: solid;
  border-width: 2px;
/*   box-shadow: rgba(0, 0, 0, .2) 15px 28px 25px -18px; */
  box-sizing: border-box;
  color: #41403e;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  line-height: 32px;
  outline: none;
  padding: .85rem;
  text-decoration: none;
  transition: all 235ms ease-in-out;
  border-bottom-left-radius: 15px 255px;
  border-bottom-right-radius: 225px 15px;
  border-top-left-radius: 255px 15px;
  border-top-right-radius: 15px 225px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.btn:hover,
.simpay-btn.simpay-payment-btn:hover {
  /* box-shadow: rgba(0, 0, 0, .3) 2px 8px 8px -5px; */
  transform: translate3d(0, 2px, 0);
}

.btn:focus,
.simpay-btn.simpay-payment-btn:focus {
  /* box-shadow: rgba(0, 0, 0, .3) 2px 8px 4px -6px; */
}


.single-post a{
    font-weight: 600;
    color: var(--colore-nero);
}


/* 
.btn {
    display: inline-block;
    padding: 14px 32px;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    max-width: fit-content;
    font-family: 'Figtree';
} */

.hero h3{
    font-size: 2.3em;
    line-height: 1.4;
    color: #e8e8e8;
}

.btn-third{
    background-color: transparent;
    color: var(--colore-acqua-profonda);
    border-color: var(--colore-acqua-profonda)
}

.btn-outline,
.simpay-btn.simpay-payment-btn {
    background: transparent;
    border-color: white;
    color: white;
}

.btn-outline:hover,
.simpay-btn.simpay-payment-btn:hover {
    background: white;
    color: var(--colore-acqua-oceano);
}

.btn-outline-secondary{
    background-color: transparent;
    border: 2px solid var(--colore-acqua-oceano);
    color: var(--colore-acqua-oceano);
}

.btn-outline-secondary:hover{
    background-color: var(--colore-acqua-oceano);
    color: white;
}

.btn-primary {
    background: white;
    color: var(--colore-acqua-oceano);
    transition: 0.2s ease;
}

.btn-primary:hover {
    background: var(--colore-acqua-oceano);
    color: white;
}

.hero .btn-primary {
    color: var(--colore-acqua-oceano) !important;
}

/* CTA */
.sezione-cta {
  background: var(--colore-acqua-oceano);
  padding: 100px 20px;
  max-width: 1200px;
  margin: 0 auto;
  border-radius: 12px;
  margin-bottom: 142px;
}

.cta-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  color: white;
}

.cta-content h2 {
  font-weight: 700;
  margin-bottom: 15px;
  color: white;
}

.cta-content p {
  margin-bottom: 35px;
  opacity: 0.95;
  line-height: 1.6;
}

.col.articolo h4{
    font-weight: 700;
    margin: 12px 0;
}

.col.articolo h3{
    margin: 20px 0;
}


/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/*------------------------------------------- Hero Section -------------------------------------------*/
#hero {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 80vh;
    padding: 0px;
    margin: 0;
}

.row.hero{
    background: linear-gradient(143deg, rgb(35 93 116 / 90%) 0%, rgb(34 112 66 / 78%) 50%, rgb(177 166 76 / 75%) 100%);
    height: 80vh;
    backdrop-filter: blur(5px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-left: 10%;
    color: white;
}

.row.hero .fa-solid{
    background: white;
    color: var(--colore-acqua-profonda);
}

.row .fa-solid{
    font-size: 22px;
    width: 50px;
    height: 50px;
    background: #1a5c58;
    border-radius: 50%;
    display: flex;
    align-items: center;
    color: white;
    justify-content: center;
    flex-shrink: 0;
}

.row.hero{
    gap: 20px;
}


.row.label{
    align-items: center;
    gap: 10px;
    padding: 0;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 50px;
}


.hero-wave {
    position: absolute;
    top: 76vh;
    left: 0;
    right: 0;
    height: 150px;
    background: var(--colore-sfondo);
    clip-path: polygon(100% 100%, 0% 100% , 0.00% 36.65%, 1.67% 34.27%, 3.33% 32.03%, 5.00% 29.97%, 6.67% 28.10%, 8.33% 26.44%, 10.00% 25.01%, 11.67% 23.83%, 13.33% 22.91%, 15.00% 22.26%, 16.67% 21.88%, 18.33% 21.79%, 20.00% 21.97%, 21.67% 22.44%, 23.33% 23.18%, 25.00% 24.19%, 26.67% 25.46%, 28.33% 26.97%, 30.00% 28.70%, 31.67% 30.64%, 33.33% 32.76%, 35.00% 35.04%, 36.67% 37.47%, 38.33% 40.00%, 40.00% 42.61%, 41.67% 45.28%, 43.33% 47.97%, 45.00% 50.66%, 46.67% 53.32%, 48.33% 55.91%, 50.00% 58.40%, 51.67% 60.78%, 53.33% 63.02%, 55.00% 65.08%, 56.67% 66.95%, 58.33% 68.61%, 60.00% 70.04%, 61.67% 71.22%, 63.33% 72.14%, 65.00% 72.79%, 66.67% 73.17%, 68.33% 73.26%, 70.00% 73.08%, 71.67% 72.61%, 73.33% 71.86%, 75.00% 70.86%, 76.67% 69.59%, 78.33% 68.08%, 80.00% 66.35%, 81.67% 64.41%, 83.33% 62.29%, 85.00% 60.01%, 86.67% 57.58%, 88.33% 55.05%, 90.00% 52.44%, 91.67% 49.77%, 93.33% 47.08%, 95.00% 44.39%, 96.67% 41.73%, 98.33% 39.14%, 100.00% 36.65%);
}

/*------------------------------------------- WORKFLOW -------------------------------------------*/
#workflow{
    text-align: center;
}
#workflow .row{
    margin-top: 40px;
    background-color: var(--colore-acqua-oceano);
    border-radius: 10px;
    padding: 4% 3%;
    align-items: center;
    text-align: left;
    color: white;
    max-height: 550px;
}
#workflow h3{
    color: white;
    margin-bottom: 40px;
}
#workflow .btn-workflow{
    display:flex;
    gap: 25px;
}
#workflow .btn{
    width: 50%;
    max-width: unset;
    padding: 4% 0% 7% 2%;
    border-radius: 10px;
    display: inline-flex;
    min-height: 22vh;
}
#workflow .btn p{
    width: 50%;
}
#workflow .btn-primary:hover{
    border: 2px solid white;
}
#workflow .btn .fa-solid{
    background: none;
    transform: rotate(45deg);
    align-items: end;
}
#workflow .btn-primary .fa-solid{
    color: var(--colore-acqua-oceano);
}
#workflow .btn-primary:hover .fa-solid{
    color: white;
}
#workflow .btn-outline:hover .fa-solid{
    color: var(--colore-acqua-oceano);
}


/*------------------------------------------- Header -------------------------------------------*/
.preheader {
	padding: 0px 2%;
    display: flex;
    align-items: center;
    height: auto;
}

.right-header{
    display: flex;
}



.header {
	position: fixed;
	width: 100%;
	height: 74px;
	background-color: #ffffff00;
    transition: background 0.8s ease;
	z-index: 10;
	background-color: var(--colore-sfondo);
    box-shadow: 0px 0px 4px 0px #4c525bad;
    display: flex;
    padding: 0px 20px;
    backdrop-filter: blur(25px);
}
.header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.header .custom-logo{
    max-width: 140px;
    height: 74px;
    margin-left: 12%;
}


.app-desktop .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#menu-item-30{

}
#menu-item-30:hover{

}

#menu-item-30 a{

}

#menu-item-28{

}

#menu-item-28:hover{

}


#menu-item-28 a{

}

/* close menu button */
.app-desktop .openclose {
    display: none;
}

.icona-close{
    max-width: 24px;
}

.openclose .iconbar {
	height: 2px;
	width: 20px;
	background-color: var(--colore-acqua-oceano);
	display: block;
	margin: 5px 0;
}

.scrolled-over .header .openclose .iconbar {
  background-color: var(--colore-acqua-profonda);
}

.openclose .uno {
	width: 15px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}

.openclose .tre {
	width: 10px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration:   1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration:  1s;
}

.openclose:hover .uno {
	width: 5px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}

.openclose:hover .tre {
	width: 20px;
	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-o-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}



/*------------------------------------------- Nav bar -------------------------------------------*/
.header-wrapper .nav {
    display: block;
    height: fit-content;
	width: 100%;
    margin: 0;
    width: fit-content;
}

.app-desktop .header-wrapper .nav {
    padding: 15px 40px;
}
.app-mobile .header-wrapper  .nav {
	display: flex;
	background-color: #fff;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
    user-select: none;
    pointer-events: none;
    opacity: 0;
	justify-content: center;
    transition: opacity 1s ease;
	align-items: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 30% auto;
}

.app-mobile .header-wrapper nav.nav {
    width: 100%;
}
.app-mobile.main-navmenu-open .header-wrapper .nav {
    display: flex;
    opacity: 1;
    pointer-events: initial;
    width: 100%;
}
.app-mobile .nav ul {
    align-items: baseline;
    padding-left: 6%;
    justify-content: center;
    display: flex;
    gap: 16px;
}
.app-mobile.main-navmenu-open a.custom-logo-link img {
    position: relative;
    z-index: 10000;
}

.app-mobile nav.nav li.mega-menu:hover .mega-menu-prodotti {
    display: none!important;
}

.nav a.current {
	color: var(--colore-acqua-profonda);
    font-weight: 650;
}
.nav ul {
    margin: 0;
    padding: 0;
	list-style-type: none;
	text-align: center;
	width: 100%;
}
.app-desktop .nav ul {
    display: flex;
    gap: 24px;
    align-items: center;
}

#menu-item-31:hover .sub-menu{
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}

.nav .menu-item .sub-menu{
    flex-direction: column;
    display: none;
    position: fixed;
    background-color: white;
    width: fit-content;
    padding: 18px;
    border: 1px solid var(--colore-bordino);
}


.app-mobile #menu-item-31:hover .sub-menu{
    display: none;
}

.app-mobile #menu-item-31:hover .sub-menu{
    flex-direction: column;
    align-content: baseline;
    align-items: baseline;
}

.app-mobile .nav .menu-item .sub-menu{
    border: none;
    border-top: 1px solid var(--colore-bordino);
    border-bottom: 1px solid var(--colore-bordino);
    position: relative;
}


.app-mobile .nav .menu-item .sub-menu.active{
    display: flex !important;
    padding: 0;
    padding: 8px 0;
}

.nav .menu-item .sub-menu a{
    font-size: 14px;
    transition: 0.2s ease-in;
}

.app-mobile .nav .menu-item .sub-menu a{
    font-size: 18px;
}

.nav .menu-item .sub-menu a:hover{
    transform: scale(1.1);
    color: var(--colore-acqua-profonda);
}

.app-mobile .openclose {
	position: absolute;
	top: 40%;
	right: 6%;
    display: block;
	z-index: 90;
	cursor: pointer;
    width: 40px;
    z-index: 100;
}
.app-mobile.main-navmenu-open .openclose {
    display: flex;
}
.app-mobile .openclose .icona-close {
    display: none;
}

.app-mobile .openclose .icona-open{
    font-size: 24px;
    color: var(--colore-acqua-oceano);
    display: initial;
}

.app-mobile.main-navmenu-open .openclose .icona-close {
    display: initial;
    font-size: 24px;
    color: var(--colore-acqua-oceano);
}

.app-mobile.main-navmenu-open .openclose .icona-open {
    display: none;
}

.app-mobile.main-navmenu-open span.iconbar {
    display: none;
}

.app-mobile .row.label{
    flex-direction: row;
}

.app-mobile .sezione-categorie .row{
    flex-direction: row;
}

.nav ul li {
	line-height: 1;
	width: max-content;
	margin: 0;
    display: block;
    text-transform: none;
}
.nav ul li a {
    display: flex;
    font-size: 20px;
    color: var(--colore-nero);
    letter-spacing: 1px;
    padding: 5px;
}

.app-mobile .nav ul li a {
    font-size: 2.4rem;
}

.app-mobile ul {
    display: flex;
    flex-direction: column;
}

.nav .accesso {
    display: none;
}

.app-mobile .row {
	flex-direction: column;
}
.app-mobile .row .col {
	width: 100%;
}


.single-prodotto .quota-ceo-general{
    margin: unset;
}

.toggle {
    display: block;
    cursor: pointer;
    pointer-events: none;
}

.toggle input {
    display: none;
}

.toggle input + div {
    width: 20px;
    height: 14px;
    position: relative;
}

.toggle input + div div {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: transform .5s ease;
}

.toggle input + div div span {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
}

.toggle input + div div span:first-child {
    top: 0;
}

.toggle input + div div span:first-child:before,
.toggle input + div div span:first-child:after {
    top: 0;
}

.toggle input + div div span:last-child {
    bottom: 0;
}

.toggle input + div div span:last-child:before,
.toggle input + div div span:last-child:after {
    bottom: 0;
}

.toggle input + div div span:before,
.toggle input + div div span:after {
    content: '';
    display: block;
    width: 47%;
    height: 2px;
    border-radius: 1px;
    background: var(--colore-acqua-oceano);
    position: absolute;
    -webkit-backface-visibility: hidden;
    transition: transform .5s ease, border-radius .3s ease, background .4s ease;
}

.toggle input + div div span:before {
    left: 0;
    transform-origin: 0 50%;
    transform: translate(1px, 0) scaleX(1.1);
}

.toggle input + div div span:after {
    right: 0;
    transform-origin: 100% 50%;
    transform: translate(-1px, 0) scaleX(1.1);
}

.toggle input + div svg {
    display: block;
    fill: none;
    stroke: var(--colore-acqua-oceano);;
    stroke-width: 2px;
    width: 44px;
    height: 44px;
    stroke-linecap: round;
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -22px 0 0 -22px;
    stroke-dasharray: 0 82.801 8 82.801;
    stroke-dashoffset: 82.801;
    transform-origin: 50% 50%;
    -webkit-backface-visibility: hidden;
    transform: scale(1);
    transition: stroke-dashoffset .5s ease, stroke-dasharray .6s ease, transform .5s ease, stroke .4s ease;
}

.toggle input + div svg:nth-child(3) {
    transform: rotate(180deg) scale(1);
}

.toggle input:checked + div div {
    transform: rotate(90deg);
}

.toggle input:checked + div div span:before,
.toggle input:checked + div div span:after {
    background: var(--colore-acqua-oceano);;
}

.toggle input:checked + div div span:first-child:before {
    transform: rotate(45deg) translate(2.2px, -3px) scaleX(1.05);
}

.toggle input:checked + div div span:first-child:after {
    transform: rotate(-45deg) translate(-2.2px, -3px) scaleX(1.05);
}

.toggle input:checked + div div span:last-child:before {
    transform: rotate(-45deg) translate(2.2px, 3px) scaleX(1.05);
}

.toggle input:checked + div div span:last-child:after {
    transform: rotate(45deg) translate(-2.2px, 3px) scaleX(1.05);
}

.toggle input:checked + div svg {
    stroke-dashoffset: 62;
    stroke-dasharray: 0 82.801 62 82.801;
    transform: rotate(90deg);
    stroke: var(--colore-acqua-oceano);;
}

.toggle input:checked + div svg:nth-child(3) {
    transform: rotate(270deg);
}




/*----------------------------------------------------------------- FORM DI CONTATTO E PREVENTIVO --------------------------------------------------------------*/

.single-prodotto #preventivo,
.contatti #form-contatti{
    background: white;
    margin: unset !important;
    text-align: center;
}
.wpcf7{
    width: 100%;
    text-align: left;
}

#form-contatti h2{
    text-align: start;
}

#form-contatti .row{
    padding: unset;
}

.wpcf7-form .campi-form p{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-row-gap: 40px;
    grid-column-gap: 144px;
}
.wpcf7-form .campi-form p label input,
.wpcf7-form .campi-form p label textarea{
    width: 100%;
    padding: 12px;
    padding-left: 0;
    margin: 5px 0 5px 0;
    border: none;
    background: transparent;
    border-bottom: 1px solid #cccccc;
}


.wpcf7-form .campi-form p label textarea{
    min-height: 5vh;
    height:  5vh;
    max-height: 300px;
    overflow-y: auto;
    resize: none;
    border-radius: 0;
    outline: none;
}

.wpcf7-form .campi-form p > *:nth-last-child(-n +2) {
    grid-column: 1 / -1;
}

.wpcf7-form .campi-form label input:focus,
.wpcf7-form .campi-form label textarea:focus{
    border-bottom: 3px solid var(--colore-acqua-oceano);
}

.wpcf7-form .bottone-submit {
    margin-top: 37px;
}


/*----------------------------------------------------------------- FOOTER --------------------------------------------------------------*/
.footer {
    background-color: var(--colore-sezione);
    padding: 60px 0 20px;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    padding: 0 20px 40px;
    border-bottom: 1px solid #ddd;
}

.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: #000;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    margin-bottom: 12px;
}

.footer-menu a {
    color: #333;
    font-family: var(--font-testo);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s;
}

.footer-menu a:hover {
    color: var(--colore-acqua-oceano);
}

.footer-info p {
    margin: 8px 0;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
}

.footer-address a {
    color: #333;
    text-decoration: none;
}


.copyright-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.footer-logo-wrap {
    flex-shrink: 0;
}

.footer-address {
    margin-bottom: 24px;
}

.footer-contact{
    margin-bottom: 24px;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: 15px;
}

.social-label {
    font-size: 14px;
    color: #333;
    margin: 0;
}

.social-icons {
    display: flex;
    gap: 15px;
}

.social-icons a {
    display: flex;
    font-size: 16px;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border: 1px solid #333;
    border-radius: 50%;
    color: #333;
    transition: all 0.3s;
}

.social-icons a:hover {
    background-color: var(--colore-acqua-oceano);
    border-color: var(--colore-acqua-oceano);
    color: #fff;
}

/* Stile per il menu WordPress generato da footer_nav() */
.copyright-menu ul {
    display: flex;
    gap: 25px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

.copyright-menu li {
    margin: 0;
}

.copyright-menu a {
    font-size: 13px;
    color: var(--colore-testo);
    text-decoration: none;
    transition: color 0.3s;
}

.copyright-menu a:hover {
    color: var(--colore-acqua-oceano);
}

.copyright-text {
    text-align: center;
    font-size: 13px;
    color: var(--colore-testo);
    margin: 20px 0 0;
    padding-top: 20px;
    border-top: 1px solid #ddd;
}

.footer img{
    max-width: 100px;
    height: 40px;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/

/*--------------HOME------------------*/

.home .row.hero{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    padding: 0;
    position: relative;
}

.home #hero video.bg-video{
    position: absolute;
    top: 6%;
    height: 80vh;
    object-fit: cover;
    width: 100%;
}

.home .col.hero-content{
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}

.home .col-left {
    flex: 1;
}

.home .col-right {
    flex: 1;
}

.home h1{
    font-size: 10em;
}

/* Criteri Section */

.home #criteri h2 {
    margin-bottom: 20px;
}

.home #criteri img{
    max-width: 658px;
    max-height: 417px;
}

.home #criteri p {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 40px;
}

.home #criteri .row .col{
    justify-content: center;
}

.home .criteri-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.home .criterio-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.home .criterio-icon {
    width: 50px;
    height: 50px;
    background: #1a4d5c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.home .criterio-icon img {
    width: 28px;
    height: 28px;
}

.home .criterio-item h3 {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.home .criteri-image {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}


/* Come Funziona Section */
.home .come-funziona {
    padding: 80px 0;
}

.home .come-funziona h2 {
    text-align: center;
    margin-bottom: 60px;
}

.home .come-funziona .row {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 30px;
    margin: 0 auto;
    padding: 0 20px;
}


.home .come-funziona .col {
    flex: 1 1 calc(33.333% - 30px);
    min-width: 280px;
    max-width: 300px;
}


.home .card-funziona {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 30px 20px;
    width: 100%;
    min-height: 425px;
    background-color: white;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    border-radius: 8px;
    box-sizing: border-box;
}

.home .card-funziona .card-content {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

.home .card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 4px;
    margin-top: 16px;
}

.home .card-icon img {
    width: 40px;
    height: 40px;
}

.home .card-funziona h3 {
    font-size: 20px;
    font-weight: 700;
    color: #1a4d5c;
}

.home .card-funziona p {
    font-size: 16px;
    margin-top: 6px;
    line-height: 1.4;
    color: var(--colore-testo);
}

/* Team Section */
.home #team {
    margin: 0;
    margin-top: 50px;
    padding: 80px 0;
    background: var(--colore-sezione);
}

.home #team h2 {
    text-align: center;
    margin-bottom: 60px;
}

.home .team-grid {
    justify-content: center;
}

.home .team-card {
    gap: 16px;
    text-align: center;
    max-width: 350px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    height: 45vh;
    justify-content: space-between;
}

.home .team-image {
    width: 84px;
    height: 84px;
    margin: 0 auto 20px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.home .team-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home .team-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #1a4d5c;
}

.home .team-card p {
    font-size: 14px;
    line-height: 1.5;
    color: var(--colore-testo);
    height: 145px;
}

/* Categoria Section */
.home .categoria {
    padding: 80px 0;
    margin: 0;
    margin-top: 50px;
}


.home .categoria .container{
    display: flex;
    flex-direction: column;
    gap: 64px;
}


.home .categoria-title {
    text-align: center;
}

.home .categoria-row {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Card Wrapper per il controllo responsive */
.home .categoria-card-wrapper {
    flex: 1 1 calc(33.333% - 30px);
    min-width: 280px;
    max-width: 400px;
}

/* Card Base Styles */
.home .card-categoria {
    background: white;
    border-radius: 20px;
    padding: 0;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: none;
    position: relative;
}

.home .card-categoria:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.home .card-categoria::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: transform 0.5s ease;
    border-radius: 20px;
    z-index: 0;
}

.home .card-categoria:hover::before {
    transform: scale(1);
}

/* Icon Wrapper with Colored Background */
.home .card-icon-wrapper {
    position: relative;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home .card-icon-wrapper::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1px;
    height: 1px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), width 0.7s cubic-bezier(0.23, 1, 0.32, 1), height 0.7s cubic-bezier(0.23, 1, 0.32, 1);
    z-index: 0;
}

.home .card-categoria:hover .card-icon-wrapper::before {
    transform: translate(-50%, -50%) scale(1);
    width: 900px;
    height: 900px;
}

/* Color Variants */
.home .card-purple .card-icon-wrapper::before {
    background: linear-gradient(135deg, var(--colore-acqua-cristallina) 0%, var(--colore-acqua-oceano) 100%);
}

.home .card-coral .card-icon-wrapper::before {
    background: linear-gradient(135deg, #ffd580 0%, #ffd752 100%);
}

.home .card-green .card-icon-wrapper::before {
    background: linear-gradient(135deg, #1A5F3B 0%, #2D8659 100%);
}

/* Icon Styles */
.home .card-icon {
    width: 86px;
    height: 86px;
    position: relative;
    z-index: 1;
}

.home .card-icon svg {
    width: 100%;
    height: 100%;
    color: #2d3748;
    transition: color 0.5s ease;
}

.home .card-categoria:hover .card-icon svg {
    color: white;
}

.home .card-purple .card-icon svg {
    color: var(--colore-acqua-profonda);
}

.home .card-coral .card-icon svg {
    color: #ffb752;
}

.home .card-green .card-icon svg {
    color: #1A5F3B;
}

/* Card Content */
.home .categoria .card-content {
    padding: 30px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 1;
    transition: color 0.5s ease;
}

.home .card-categoria:hover .card-content,
.home .card-categoria:hover .card-content .card-title,
.home .card-categoria:hover .card-content .card-text,
.home .card-categoria:hover .card-content .card-btn{
    color: white;
    border-color: white;
}

.home .card-title {
    margin-bottom: 15px;
    letter-spacing: 1px;
    font-size: 2.8rem;
}

.home .card-text {
    margin-bottom: 25px;
    flex-grow: 1;
}

/* Button Styles */
.home .card-btn {
  align-self: baseline;
  font-size: 16px;
  background-color: transparent;
  background-image: none;
  background-position: 0 90%;
  background-repeat: repeat no-repeat;
  background-size: 4px 3px;
  border-radius: 15px 225px 255px 15px 15px 255px 225px 15px;
  border-style: solid;
  border-width: 2px;
  box-shadow: rgba(0, 0, 0, .2) 15px 28px 25px -18px;
  box-sizing: border-box;
  color: #41403e;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  line-height: 32px;
  outline: none;
  padding: .85rem;
  text-decoration: none;
  transition: all 235ms ease-in-out;
  border-bottom-left-radius: 15px 255px;
  border-bottom-right-radius: 225px 15px;
  border-top-left-radius: 255px 15px;
  border-top-right-radius: 15px 225px;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
}

.home .card-purple .card-btn {
    color: var(--colore-acqua-oceano);
    border-color: var(--colore-acqua-oceano);
}

.home .card-purple .card-btn:hover {
    background: transparent;
    color: white;
    transform: translateX(5px);
}

.home .card-coral .card-btn {
    color: #fcc737;
    border-color: #fdb73d;
}

.home .card-coral .card-btn:hover {
    background: #ffd152;
    color: var(--colore-nero);
    transform: translateX(5px);
}

.home .card-green .card-btn {
    color: #2D8659;
    border-color: #2D8659;
}

.home .card-green .card-btn:hover {
    background: transparent;
    color: white;
    transform: translateX(5px);
}

.home .card-btn svg {
    transition: transform 0.3s ease;
}

.home .card-btn:hover svg {
    transform: translateX(5px);
}

/* Acquaponica Section */

.home #acquaponica{
    background-color: var(--colore-sezione);
    margin: 0;
    margin-bottom: 142px;
    overflow: hidden;
}

.home .acquaponica-row {
    align-items: center;
}

.home .acquaponica-row img{
    max-width :  540px ;
    max-height: 360px;
}

.home .col-image img {
    width: 100%;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

.home .col-content h2 {
    font-size: 32px;
    margin-bottom: 24px;
}

.home .col-content p {
    font-size: 16px;
    text-align: justify;
    max-width: 500px;
    line-height: 1.6;
    color:var(--colore-testo);
    margin-bottom: 30px;
}

/* Carosello Section */

.home #news-carousel{
    padding: 0 2%;
    text-align: center;
    margin-bottom: 140px;
}

.home #news-carousel .carousel-wrapper{
    border-radius: 10px;
    padding: 30px;
    margin-top: 50px;
}
.home #news-carousel .carousel-wrapper .carosello-news{
    display: flex;
    gap: 50px;
}
.home #news-carousel .news-slide {
    width: 90%;
}
.home #news-carousel .news-slide .img-articolo {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 10px;
    position: initial;
    height: 35vh;
    width: 100%;
}

.home #news-carousel .news-slide .row{
    justify-content: center;
    text-align: left;
    padding: 8% 0;
    gap: 20px;
    flex-direction: column;
}

.home #news-carousel .slick-prev,
.home #news-carousel .slick-next{
    border:none;
    background: transparent;
}

.home #news-carousel .slick-arrow .fa-solid{
    font-size: 2.3em;
    color: var(--colore-acqua-profonda);
    border: 3px solid var(--colore-acqua-profonda);
    border-radius: 50%;
    padding: 6px;
    width: 40px;
    height: 40px;
}

.home #news-carousel .slick-dots {
    position: absolute;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 4px;
}

.home #news-carousel .slick-dots li button{
    content: '';
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1px solid white;
    background: transparent;
}

.home #news-carousel .slick-dots li.slick-active button{
    background: white;
    width: 15px;
    height: 15px;
    border-radius: 50%;
}

.home #news-carousel ul{
    flex-direction: row;
}


/*------------------ CHI SIAMO ------------------*/

.chi-siamo .section.full{
    padding: 10%;
    align-items: center;
}
.chi-siamo .section.full .row{
    gap: 20px;
}

.chi-siamo #quota{
    display: flex;
    margin-left: 10px;
}

.chi-siamo #quota .row{
    background: var(--colore-acqua-chiara);
    background: linear-gradient(135deg, #217094f5 0%, #14bc7ccf 100%);   
    padding: 8% 4%;
    gap: 40px;
}

.chi-siamo #quota .col:first-child{
    width: 25%;
}

.chi-siamo #quota .col:nth-child(2){
    width: 60%;
    gap: 10px;
}

.chi-siamo #quota .col h3{
    margin-bottom: 20px;
    color: white;
}

.chi-siamo #quota img{
    border-radius: 100%;
    max-height: 230px;
    max-width: 230px;
    object-fit: cover;
}

.chi-siamo #quota .ceo{
    margin-bottom: 10px;
}
.chi-siamo #quota .ceo p{
    color: white;
}
.chi-siamo #quota .row.onda {
    width: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='50' preserveAspectRatio='none' viewBox='0 0 10 100'%3E%3Cpath d='M5,0 Q0,12.5 5,25 T5,50 Q0,62.5 5,75 T5,100' stroke='%23008B8B' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/contain repeat-y;
    padding: 0;
    margin: 20px 0px;
    transform: translateX(-90px);
}

/*Sceglici*/
.chi-siamo #sceglici .col{
    gap: 40px;
}
.chi-siamo .img.grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
}
.chi-siamo .img.grid img{
    width: 100%;
    object-fit: cover;
    border-radius: 4%;
}
.chi-siamo .img.grid img:first-child,
.chi-siamo .img.grid img:last-child {
    height: 260px;
}
.chi-siamo .img.grid img:nth-child(2),
.chi-siamo .img.grid img:nth-child(3) {
    height: 190px;
}
.chi-siamo .img.grid img:last-child {
    transform: translateY(-70px);
}
.chi-siamo .grid.vantaggi{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}
.chi-siamo .grid.vantaggi .vantaggio{
    display: flex;
    gap: 20px;
    flex-direction: column;
    height: 100%;
    justify-content: center;
}
.chi-siamo .grid.vantaggi .vantaggio h3{
    font-size: 2.6em;
}
.chi-siamo .grid.vantaggi .vantaggio .number{
    background: #f6f6f6;
    border-radius: 100%;
    width: 77px;
    height: 77px;
    padding: 9%;
    box-shadow: rgba(149, 157, 165, 0.42) 0px 8px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}
.chi-siamo .grid.vantaggi .vantaggio .number h3{
    color: var(--colore-acqua-profonda);
}


/*Servizi*/

.chi-siamo #servizi {
    text-align: end;
    overflow: hidden;
}

.chi-siamo #servizi .label {
    font-size: 14px;
    font-weight: 600;
    color: var(--colore-acqua-oceano
    );
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.chi-siamo #servizi .row {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-top: 64px;
}

.chi-siamo #servizi .col {
    display: flex;
    flex-direction: column;
    align-items: end;
    text-align: end;
}

.chi-siamo #servizi .col img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 30px;
}

.chi-siamo #servizi .col h3 {
    font-weight: 600;
    color: var(--colore-acqua-oceano);
    margin-bottom: 20px;
}

.chi-siamo #servizi .col p {
    line-height: 1.6;
    color: var(--colore-testo);
    margin-bottom: 25px;
    max-width: 320px;
}

.chi-siamo #servizi .col a {
    font-size: 16px;
    font-weight: 600;
    color: var(--colore-acqua-oceano);
    text-decoration: none;
    position: relative;
    padding-bottom: 5px;
    transition: all 0.3s ease;
}

.chi-siamo #servizi .col a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #17a2b8;
    transform: scaleX(1);
    transition: transform 0.3s ease;
}

.chi-siamo #servizi .col a:hover {
    color: var(--colore-acqua-chiara);
}

.chi-siamo #servizi .col a:hover::after {
    transform: scaleX(0);
}

/*--------------COS'E' L'ACQUAPONICA------------------*/
.cose-lacquaponica .header-spiegazione {
    margin-bottom: 40px;
}

.cose-lacquaponica .header-spiegazione h2{
    text-align: left;
    line-height: 1.25
}

.cose-lacquaponica .header-spiegazione h4{
    line-height: 1.75;
    text-align: left;
    padding-top: 24px;
    color: var(--colore-testo);
}

/* Flexbox per la divisione 60/40 */
.cose-lacquaponica .content-spiegazione {
    padding-top: 68px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.cose-lacquaponica .blocco-testo {
    width: 50%; 
    padding-right: 30px; /* Spazio tra testo e immagini */
}
.cose-lacquaponica .blocco-immagini {
    width: 40%; 
    display: flex;
    justify-content: flex-end;
}

/* Testo */
.cose-lacquaponica .testo-content p {
    margin-bottom: 1rem;
    text-align: left;
    line-height: 1.75;
}

/* Gestione dell'effetto collage delle Immagini */
.cose-lacquaponica .immagini-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 10px; 
    width: 100%;
}

.cose-lacquaponica .img-principale {
    grid-column: 2 / 5;
    grid-row: 2 / 3;
    position: relative;
    bottom: 20%;
    left: 10%;
}
.cose-lacquaponica .img-secondaria {
    grid-column: 1 / 3;
    grid-row: 1 / 4;
}

.cose-lacquaponica .blocco-immagini img {
    width: 100%;
    height: auto;
    display: block;
    border: 4px solid white;
    object-fit: cover;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.cose-lacquaponica .sezione-clienti .title-clienti {
    margin-bottom: 40px;
    text-align: center;
}

/* Grid per la disposizione 2 colonne */
.cose-lacquaponica .recensioni-container-grid {
    padding-top: 64px;
    display: grid;
    /* Crea due colonne uguali con spazio tra di loro */
    grid-template-columns: 1fr 1fr;
    gap: 30px; /* Spazio tra le card (sia orizzontale che verticale) */
}

.cose-lacquaponica .recensione-card {
    background-color: #fff;
    padding: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    min-height: 240px;
}

.cose-lacquaponica .recensione-testo {
    line-height: 1.5;
    font-style: italic;
    margin-bottom: 20px;
}

.cose-lacquaponica .info-cliente {
    display: flex;
    align-items: center;
    width: 100%;
}

.cose-lacquaponica .cliente-avatar {
    margin-right: 15px;
}

.cose-lacquaponica .cliente-avatar img, .avatar-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    background-color: #ccc;
    display: block;
}

.cose-lacquaponica .dati-testuali {
    flex-grow: 1; 
}

.cose-lacquaponica .dati-testuali p {
    margin: 0;
    line-height: 1.2;
}

.cose-lacquaponica .nome-cliente {
    font-weight: bold;
    color: var(--colore-acqua-oceano);
}

.cose-lacquaponica .luogo-cliente {
    margin-top: 2px;
}

.cose-lacquaponica .rating {
    margin-left: auto;
    font-size: 14px
}

.cose-lacquaponica .rating span {
    color: #F53D3D;
    line-height: 1;
}

.app-mobile .blocco-testo{
    width: 100%;
}

/*--------------CONTATTI------------------*/

.contatti #hero .btn-primary{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.contatti .wpcf7{
    margin-top: 32px;
}

.contatti #hero .btn-primary .fa-solid{
    color: var(--colore-acqua-oceano);
    width: 10px;
    height: 10px;
    font-size: 10px;
    background: transparent;
}

.contatti #hero .btn-primary:hover .fa-solid{
    color: white;
}
.contatti .hero-wave{
    background-color: white;
}
.contatti #form-contatti .wpcf7-form .campi-form .check-impianto,
.contatti #form-contatti .wpcf7-form .campi-form .check-serra{
    display: flex;
    align-items: flex-end;
    margin-bottom: 10px;
}

.contatti #form-contatti .wpcf7-form .campi-form .check-impianto label,
.contatti #form-contatti .wpcf7-form .campi-form .check-serra .wpcf7-list-item label{
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    display: flex
}

.contatti #form-contatti .wpcf7-form .campi-form .check-impianto .wpcf7-list-item,
.contatti #form-contatti .wpcf7-form .campi-form .check-serra .wpcf7-list-item{
    position: static;
}

.contatti #form-contatti .wpcf7-form .bottone-submit{
    position: relative;
}
.contatti #form-contatti .wpcf7-form .bottone-submit .fa-solid{
    position: absolute;
    top: 38%;
    left: 13vh;
    color: var(--colore-acqua-profonda);
    height: 14px;
    width: 10px;
    background: none;
    font-size: 1.0em;
}
.contatti #form-contatti .info_az{
    align-items: flex-start;
}
.contatti #form-contatti .info_az div {
    display: flex;
    align-items: center;
    gap: 15px;
}
.contatti #form-contatti .info_az div .fa-solid{
    background: none;
    color: var(--colore-acqua-profonda);
}

.contatti #domande{
    text-align: center;
    margin: unset;
}
.contatti #domande .col{
    width: 100%;
    padding: 2%;
    gap: 40px;
    text-align: left;
}
.contatti #domande .col .domanda_risposta{
    background: #0A4D680D;
    padding: 4%;
    border-radius: 16px;
}
.contatti #domande .col .domanda_risposta .domanda{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.contatti #domande .col .domanda_risposta .domanda .fa-solid{
    background: none;
    border: 2px solid #303030;
    color: #303030;
    font-size: 1.5em;
    width: 40px;
    height: 40px;
}


#domande .risposta {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: all 0.35s ease;
}

#domande .risposta.show {
    opacity: 1;
    max-height: 90%; 
    margin: 12px 0;
}

#domande .domanda i {
    transition: transform 0.3s ease;
}

#domande .domanda i.rotate {
    transform: rotate(180deg);
}


/*--------------NEWS------------------*/

.news section{
    padding: 80px 8%;
}

.news #hero .btn-primary{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.news #hero .btn-primary .fa-solid{
    color: var(--colore-acqua-oceano);
    width: 10px;
    height: 10px;
    font-size: 10px;
    background: transparent;
}

.news #hero .btn-primary:hover .fa-solid{
    color: white;
}
.news #news h1{
    text-align:center;
    color: var(--colore-testo-nero);
}
.news #news .news-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
    justify-content: center;
    gap: 24px;
    margin-top: 42px;
}
.news #news .news-grid .news-card{
    background: #FFFFFF;
    border-radius: 10px;
    padding: 10px;
}

.news #news .news-grid .news-card .news-thumb{
    height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 10px;
}
.news #news .news-grid .news-card .news-contenuto{
    padding: 6px;
    display:flex;
    flex-direction: column;
}
.news #news .news-grid .news-card .news-contenuto h4,
.news #news .news-grid .news-card .news-contenuto .news-excerpt {
    padding: 6px;
}

.news #news .news-grid .news-card .news-contenuto .news-info{
    background: #F5F5F5;
    border-radius: 10px;
    padding: 14px 16px;
    justify-content: space-between;
}
.news #news .news-grid .news-card .news-contenuto .news-info .author_date p:first-child{
    color: black;
}
.news #news .news-grid .news-card .news-contenuto .news-info .fa-solid{
    background: white;
    color: var(--colore-acqua-oceano);
    width: 35px;
    height: 35px;
}


/*--------------NEWS SINGOLA------------------*/

.single-post .contenuto-articolo{
    margin-top: 64px;
}

.single-post #main-article{
    padding: 80px 3%;
    margin-bottom: 12%;
}
.single-post #hero .btn-primary{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.single-post #hero .btn-primary .fa-solid{
    color: var(--colore-acqua-oceano);
    width: 10px;
    height: 10px;
    font-size: 10px;
    background: transparent;
}

.single-post #hero .btn-primary:hover .fa-solid{
    color: white;
}
.single-post #main-article h2{
    text-align: initial;
}
.single-post #main-article .row .col.articolo {
    width: 70%;
}
.single-post #main-article .row .col.sidebar {
    width: 30%;
    margin-top: 5.3%;
}
.single-post #main-article .articolo .articolo-thumb{
    height: 600px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 10px;
    margin: 48px 0 100px 0;
}
.single-post #main-article .articolo img{
    height: 300px;
    margin: 40px 0;
    object-position: center;
    object-fit: cover;
    border-radius: 10px;
}


.app-mobile.single-post .contenuto-articolo.row {
    flex-direction: row;
}


.preventivo-container{
    display: flex;
    flex-direction: column;
}

.single-prodotto .layout-2col:nth-child(1){
    padding: 44px 0;
}

.wpcf7-form.init{
    margin-bottom: 32px;
}

.wpcf7 form .wpcf7-response-output{
    font-size: 16px;
    margin: 2em 0em 1em !important;
    width: fit-content;
    border-radius: 3px;
}

.wpcf7 form.invalid .wpcf7-response-output{
    border-color: #dc7a32;
    background: #dc95321f;
    color: #dc7a32;  
}

.wpcf7 form.failed .wpcf7-response-output{
    border-color: #dc3232;
    background: #ff000017;
    color: #dc3232;   
}

.preventivo-container h2{
    text-align: left;
}

.preventivo-container .row{
    padding-left: 0;
}

/*PAGAMENTI*/

.payment-container {
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    background: #FAFAFA;
}

.payment-content {
    text-align: center;
    max-width: 600px;
    opacity: 0;
}

/* Cerchio icona */
.icon-wrapper-error {
    width: 120px;
    height: 120px;
    background:rgba(35, 160, 145, 0.31);
    border-radius: 50%;
    margin: 0 auto 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0);
}

.pagamento-non-riuscito .icon-wrapper-error{
    background:rgba(255, 0, 0, 0.31);
}

.pagamento-annullato .icon-wrapper-error{
    background:rgba(93, 93, 93, 0.31);
}

/* SVG / IMG errore */
.error-icon-img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    opacity: 0;
}

.payment-title {
    font-size: 32px;
    font-weight: 700;
    color: #1A1A1A;
    margin-bottom: 20px;
}

.payment-message {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 40px;
}

.payment-illustration {
    max-width: 400px;
    width: 100%;
    margin: 0 auto 50px;
    opacity: 0;
    display: flex;
    justify-content: center;
}

.pagamento-non-riuscito .payment-illustration{
    max-width: 200px;
}

.payment-illustration img {
    max-width: 100%;
    height: auto;
    display: block;
}

.payment-button-error {
    display: inline-block;
    background: #B8E6E1;
    color: #2C5F5D;
    padding: 10px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s;
    opacity: 0;
}

.payment-button-error:hover {
    background: #A0D8D3;
    transform: translateY(-2px);
}



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/


body {
  font-weight: 400; /* normale */
}

.light-text {
  font-weight: 300;
}

.bold-text {
  font-weight: 700;
}

/*------------------------------------*\
    ANIMAZIONI
\*------------------------------------*/

.page{
  opacity: 0;
  transition: opacity 0.8s ease;   
}

.page.show{
    opacity: 1;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media (max-width: 1200px) {
    .cose-lacquaponica .img-principale{
        grid-column: 1 / 5;
        grid-row: 4 / 3;
    }
    .cose-lacquaponica .img-secondaria{
        grid-column: 1 / 4;
        grid-row: 1 / 4;
    }

    .cose-lacquaponica .testo-content p{
        line-height: 1.4;
    }
    .sezione-cta{
        margin: 112px 20px;
    }
}


@media (max-width: 1080px) {
    .home .team-card {
        height: 40vh;
    }
/*     #form-contatti .wpcf7-form .campi-form .check-impianto label, .contatti #form-contatti .wpcf7-form .campi-form .check-serra .wpcf7-list-item label {
        flex-direction: row;
    } */
}

@media (max-width: 992px) {
    
    section{
        padding: 80px 4%;
    }

    .chi-siamo #servizi .row{
        flex-direction: column;
    }

    .footer-container {
        grid-template-columns: repeat(2, 1fr);
    }

    .chi-siamo #servizi .row {
        gap: 50px;
    }

    .chi-siamo #servizi .col img {
        width: 100px;
        height: 100px;
        margin-bottom: 25px;
    }

    .home .come-funziona .col {
        flex: 1 1 calc(50% - 30px);
        max-width: 450px;
    }

    .home .categoria-card-wrapper {
        flex: 1 1 calc(50% - 30px);
    }

    .criteri-list {
        grid-template-columns: 1fr;
    }
    
    .row {
        flex-direction: column;
    }
    .home .hero p{
        max-width: 70%;
    }
    
    .home h1{
        font-size: 6em;
    }
    .cose-lacquaponica .content-spiegazione {
        align-items: center;
        flex-direction: column;
        padding: 0;
    }
    .cose-lacquaponica .blocco-testo {
        width: 100%;
        padding-right: 0;
        margin-bottom: 2rem;
    }
    .cose-lacquaponica .blocco-immagini {
        width: 100%;
    }
    .cose-lacquaponica .immagini-wrap {
        display: flex;
        gap: 1rem;
        width: 100%;
        height: 100%;
    }
    .cose-lacquaponica .img-principale, 
    .cose-lacquaponica .img-secondaria {
        position: static;
        flex: 1;
    }
    .cose-lacquaponica .blocco-immagini img {
        height: 50vh;
    }
}



@media (max-width: 768px) {

    .row.hero .fa-solid{
        width: 34px;
        height: 34px;
        font-size: 16px;
    }

    .hero h3{
        font-size: 18px;
    }

    .btn{
        min-width: 144px;
        padding: 10px 38px;
        font-size: 14px;
    }

    .row.hero{
        padding-left: 5%;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }
    
    .copyright-container {
        flex-direction: column;
        text-align: center;
    }
    
    .copyright-menu ul {
        justify-content: center;
    }
    .home .categoria {
        padding: 50px 0;
    }
    
    .home .categoria-title {
        font-size: 2rem;
        margin-bottom: 40px;
    }
    
    .home .categoria-row {
        gap: 20px;
        padding: 0 40px;
    }
    
    .home .categoria-card-wrapper {
        flex: 1 1 100%;
        max-width: 500px;
    }
    
    .home .card-icon-wrapper {
        height: 180px;
    }
    
    .home .card-icon {
        width: 80px;
        height: 80px;
    }
    
    .home .card-content {
        padding: 25px;
    }
    .home .come-funziona {
        padding: 50px 0;
    }
    
    .home .come-funziona h2 {
        margin-bottom: 40px;
    }
    
    .home .come-funziona .row {
        gap: 20px;
        padding: 0 40px;
    }
    
    .home .come-funziona .col {
        flex: 1 1 100%;
        max-width: 500px;
    }

    .home #news-carousel .news-slide .img-articolo{
        height: 30vh;
    }

    .home #news-carousel .slick-prev,
    .home #news-carousel .slick-next,
    .home.app-mobile #news-carousel ul{
        display: none!important;
    }

    h1 {
        font-size: 36px;
    }

    
    .home h1{
        font-size: 4em;
    }

    section h2 {
        font-size: 32px !important;
    }

    h3{
        font-size: 20px !important;
    }
    
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .card-categoria {
        height: 280px;
    }

    .chi-siamo #servizi .label {
        font-size: 12px;
        margin-bottom: 15px;
    }

    .chi-siamo #servizi h2 {
        font-size: 1.5rem;
        margin-bottom: 50px;
        padding: 0 10px;
    }

    .chi-siamo #servizi .col img {
        width: 90px;
        height: 90px;
        margin-bottom: 20px;
    }
    .chi-siamo #servizi .col img {
        padding: 8px;
        margin-bottom: 44px;
        background: #b8e7ec7a;
        border-radius: 100%;
    }
    .app-mobile.home #news-carousel .slick-dots{
        bottom: -30px;
    }
    .app-mobile.home #news-carousel .slick-dots li.slick-active button{
        background-color: var(--colore-acqua-profonda);
    }

    .app-mobile.home #news-carousel .slick-dots li button{
        border: 1px solid var(--colore-acqua-profonda);
    }

    .cose-lacquaponica .recensioni-container .recensione-wrapper {
        width: 100%; /* Una card per riga su schermi piccoli */
    }

    .cose-lacquaponica .immagini-wrap{
        flex-direction: column;
    }
    .cose-lacquaponica .recensioni-container-grid{
        grid-template-columns: 1fr;
    }

    .contatti #form-contatti .wpcf7-form .bottone-submit input{
        padding-right: none !important;
    }

    .contatti #form-contatti .wpcf7-form .bottone-submit .fa-solid{
        top: 38%;
        left: 50%;
    }

    .wpcf7-form .campi-form p{
        grid-template-columns: 1fr;
        margin-top: 42px;
    }


    .app-mobile.single-post .contenuto-articolo.row {
        flex-direction: column;
    }
    .single-post #main-article .row .col.articolo{
        width: 100%;
    }
    .single-post #main-article .row .col.sidebar{
        width: 100%;
    }
    
    .contatti #form-contatti .wpcf7-form .campi-form .check-impianto .wpcf7-form-control-wrap input,
    .contatti #form-contatti .wpcf7-form .campi-form .check-serra .wpcf7-form-control-wrap input{
        width: 8px;
        height: 8px;
    }
}

@media (max-width: 568px) {

    .cose-lacquaponica .testo-content p{
        line-height: 1.3;
    }
    .cose-lacquaponica .recensioni-container-grid{
        padding-top: 0;
    }
}

@media (max-width: 576px) {
    .funziona .grid-header h2{
        text-align: left;
    }
    .funziona .card-item{
        padding: 0 !important;
    }

    .preventivo-container{
        align-items: left;
    }

    h1 {
        font-size: 34px;
    }

    section h2 {
        font-size: 30px;
    }

    h3{
        font-size: 24px;
    }

    .news #news .news-grid{
        grid-template-columns: 1fr;
    }

    .prodotti .sezione-categorie .row{
        gap: 32px;
    }

    .home #news-carousel .slick-arrow .fa-solid{
        font-size: 1.8em;
        width: 32px;
        height: 32px;
    }

    .header .custom-logo {
        max-width: 118px;
        max-height: 118px;
        margin-left: unset;
    }
    #workflow .row{
        padding: 8% 4%;
    }

    p{
        font-size: 14px;
    }

    #workflow .btn-workflow {
        gap: 10px;
        justify-content: center;
    }
    .hero-wave {
        top: 72vh;
    }
    .home .come-funziona {
        padding: 40px 0;
    }
    
    .home .card-funziona {
        padding: 25px 15px;
        min-height: 320px;
    }

    .home .categoria {
        padding: 40px 0;
    }
    
    .home .categoria-title {
        font-size: 1.5rem;
        margin-bottom: 30px;
    }
    
    .home .categoria-row {
        gap: 20px;
    }
    
    .home .card-icon-wrapper {
        height: 160px;
    }
    
    .home .card-icon {
        width: 70px;
        height: 70px;
    }
    
    .home .card-content {
        padding: 20px;
    }
    
    .home .card-btn {
        font-size: 14px;
        padding: 10px 24px;
    }

    .home .criteri-list{
        grid-template-columns: 1fr;
    }

    .home .col-content p{
        justify-content: left;
    }
    .home #news-carousel {
        padding: 0 5%;
    }
    .home #news-carousel .carousel-wrapper .carosello-news{
        gap: 8px;
        margin-top: 24px;
    }

    .home #news-carousel .carousel-wrapper{
        padding: unset;
    }

    .home #news-carousel .news-slide .img-articolo {
        height: 270px;
    }

    .chi-siamo .grid.vantaggi{
        display: flex !important;
        flex-direction: column !important;
    }
    
    .chi-siamo .row .col{
        align-items: center;
    }
    .chi-siamo #sceglici p{
        text-align: center;
    }
    .chi-siamo .grid.vantaggi .vantaggio{
        align-items: center;
        text-align: center;
    }

    .chi-siamo .grid-vantaggi p {
        text-align: center;
    }

    .chi-siamo #servizi{
        text-align: center;
    }
    .chi-siamo #servizi .col{
        align-items: center;
        text-align: center;       
    }
    .chi-siamo #servizi .row{
        gap: 98px;
    }
    .chi-siamo #servizi .btn {
        margin-top: 24px;
    }

    .chi-siamo #quota .row{
        padding-left: 32px;
    }
    .chi-siamo #quota .col h3{
        font-size: 2em;
    }
    .chi-siamo #quota img{
        max-height: 140px;
        min-width: 140px;
    }
    .chi-siamo #quota .col:first-child {
        width: 50%;
    }
    .chi-siamo #quota .row .col{
        align-items: baseline;
    }
    .chi-siamo #quota .row.onda {
        transform: translateX(-44px);
    }

    #workflow .btn{
        align-items: stretch;
    }
    .home #acquaponica .col-content p{
        text-align: left;
        line-height: 1.4;
    }

    .contatti #form-contatti .info_az div{
        text-align: left;
    }

}


@media (max-width: 480px) {
    .chi-siamo #servizi h2 {
        font-size: 1.25rem;
    }

    .chi-siamo #servizi .col img {
        width: 80px;
        height: 80px;
    }


}

/* Override for the last card in categoria-row on hover */
.home .categoria-row .categoria-card-wrapper:last-child .card-categoria:hover .card-content,
.home .categoria-row .categoria-card-wrapper:last-child .card-categoria:hover .card-content .card-title,
.home .categoria-row .categoria-card-wrapper:last-child .card-categoria:hover .card-content .card-text,
.home .categoria-row .categoria-card-wrapper:last-child .card-categoria:hover .card-content .card-btn {
    color: var(--colore-nero) !important;
    border-color: var(--colore-nero) !important;
}

.home .categoria-row .categoria-card-wrapper:last-child .card-categoria:hover .card-icon svg {
    color: var(--colore-nero) !important;
}



/* Nascondi header e footer SOLO in questa pagina */
.pagamento-non-riuscito header,
.pagamento-non-riuscito footer,
.conferma-del-pagamento header,
.conferma-del-pagamento footer,
.pagamento-annullato header,
.pagamento-annullato footer{
    display: none !important;
}


.news h4{
    font-weight: 600;   
}
