/*
Theme Name: Hello Elementor Child
Theme URI: https://harmonia-tea.com
Description: Child theme personalizzato per Harmonia Tea
Author: Harmonia Tea
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

@import url('https://fonts.googleapis.com/css2?family=Alice&family=Bebas+Neue&family=Belleza&family=Bree+Serif&family=Dancing+Script:wght@400..700&family=DynaPuff:wght@400..700&family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Parisienne&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');

/* ==========================================================
   HARMONIA TEA — STILI GLOBALI
   Ordine del file:
   1. Variabili e base
   2. Header, banner, ricerca e carrello
   3. Form e account
   4. WooCommerce e pagina prodotto
   5. Footer
   6. Collezioni e loop prodotti
   7. Utility, colori e responsive
   8. Homepage Elementor/shortcode
   ========================================================== */

:root {
  --ht-night: #000410;
  --ht-gold: #ffd28e;
  --ht-gold-soft: #f5c28f;
  --ht-cream: #fffaf3;
  --ht-white: #ffffff;
  --ht-black: #000000;
  --ht-admin-bar-height: 0px;
  --ht-banner-height: 0px;
}

.elementor-icon-box-title{
	font-weight: 600 !important;
}

.header-inner .fa-solid{
	font-size:1.2rem;
}

.fa-solid{
	line-height: unset!important;
}

.site-header{
	position:fixed;
	width:100%;
	top:0;
	z-index:1000;
	background-color: #000410;
}

.custom-logo{
	max-height:200px;
	-webkit-transition: max-height .3s ease;
-moz-transition: max-height .3s ease;
-o-transition: max-height .3s ease;
transition: max-height .3s ease;
}

/* Container */
.ht-expandable-search .woocommerce-product-search {
    position: relative;
    width: 50px;
    height: 2rem;
    background: white;
    border: 4px solid white;
    border-radius: 25px;
    padding: 5px;
    transition: all 0.5s ease;
    overflow: hidden;
}

/* Espansione al passaggio */
.ht-expandable-search .woocommerce-product-search:hover {
    width: 300px;
    cursor: pointer;
}

/* Input */
.ht-expandable-search input.search-field {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    line-height: 30px;
    outline: 0;
    border: 0;
    font-size: 1em;
    border-radius: 20px;
    padding: 0 20px;
    display: none;
}

/* Mostra input al passaggio */
.ht-expandable-search .woocommerce-product-search:hover input.search-field {
    display: block;
}
/* Icona shopping bag*/
#carticon svg {
  fill: #fff;
  /*transition: fill 0.3s ease;*/
}
#carticon:hover,
#carticon:focus {
  color: #fff;   /* stesso colore */
}
/*#carticon:hover svg {
  fill: #a6794a; 
}*/


/* Bottone / icona */
.ht-expandable-search button {
    position: absolute;
    top: 0;
    right: 0;
    width: 42.5px;
    height: 100%;
    background: none;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #000410;
    transition: all 0.5s ease;
}

/* Hover effetto */
.ht-expandable-search .woocommerce-product-search:hover button {
    color: #000410 !important;
		background-color: #fff !important;
}

/* Icona */
.ht-expandable-search button i {
    font-size: 1.2em;
}


.ht-custom-search .woocommerce-product-search {
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
}

.ht-custom-search input.search-field {
    width: 100%;
		height: 0% !important;
    border: none;
    border-radius: 50px !important; 
    font-size: 14px;
    background-color: #e2e2e2;
}

.ht-custom-search button {
    position: absolute;
    right: 0px;
    border: none;
    cursor: pointer;
		width: 15%;
    height: 15%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0; /* Hide text */
}

.ht-custom-search button::before {
    content: "\f002";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 16px;
    color: #000410;
}

.ht-custom-search button:hover {
    background: none !important;
    border: none !important;
}

/* LOGIN */

.ht-form-login-container{
	  width: 30%;
	  margin: 5% auto;
	  background-color: #000410;
	  border-radius: 25px;
	  color: white;
	  padding: 2em;
  }
 .ht-form-login {
		margin: 0 auto !important;
  	width: 70% !important;
	 
  }

.ht-form-logo {
	margin-bottom: 2em;
	}

.ht-login-title{
	font-weight: 700;
}

.ht-form-login-button {
	  width: 100%;
	  display: block;
	  background-color: #e2e2e2;
	  color: black;
	  border: none;
	  border-radius: 10px;
}

/* Evidenzia solo le categorie prodotti WooCommerce nel menu */
.woocommerce-page .menu-item.current-menu-item a,
.woocommerce-page .menu-item a:hover {
    color: #ffd28e !important;
    font-weight: bold;
}

.ht-widget-container img{
	width: 65% !important;
	border-style: none !important;
}

.ht-info-text h3{
	font-size: 1em !important;
	text-align: center !important;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	font-family: "Open Sans" !important;
	font-weight: 700 !important;
}

.ht-info-text h4{
	font-size: 1em !important;
	text-align: center !important;
	font-family: "Merriweather" !important;
	font-weight: 700 !important;
}

.ht-home-text h2{
	color: #fff;
	font-size: 3em !important;
	text-align: center !important;
	margin-top: 1em;
	font-family: "Bebas Neue" !important;
	font-weight: 400 !important;
}

.elementor-kit-18{
	background-color: #000410;
}

body {
  color: var(--ht-white);
  overflow-x: hidden;
}

a{
	color:#ffd28e !important;
}

body:not(.home) .site-main {
  max-width: 100% !important;
  margin-top: 7% !important;
  background-color: #ffffff !important;
  border-radius: 2em !important;
  padding-top: 0.5%;
  padding-bottom: 1.5%;
}

.ht-clickable{
	cursor: pointer;
}

.ht-ml-1em{
	margin-left:1em;
}

.ht-menu-icons{
	display: flex;
/* 	width:  */
}

.ht-menu-icons > a {
	color: white !important;
}

.ins-items-count {
  font-size: 10px;
  background: #ffd28e;
  color: black;
  padding: 0 3px;
  border-radius: 64px;
  margin-left: -5px;
  position: inherit;
  display: inline-flex;
	width: auto;
  height: auto;
}

.ins-var-cart-bottom {
    bottom: auto !important;
    top: 0 !important;
    height: 100vh !important;
}

/* SIDEBAR CARRELLO */
.cart-sidebar {
  position: fixed;
  top: 0;
  right: -400px;
  width: 360px;
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.3);
  padding: 20px;
  z-index: 1002;
  transition: right 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
	overflow:scroll;
	color:black;
}

.cart-sidebar.open {
  right: 0;
}

.cart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sidebar-cart-product{
	border-bottom:
5px solid #d9d9d9;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.sidebar-cart-image-info{
	display: flex;
}

.sidebar-product-info{
	width:100%;
	padding-left:2em;
	display:flex;
	flex-direction: column;
}

.sidebar-product-name > a{
	font-weight: 600;
  text-transform: uppercase;
  color: black !important;
}

.sidebar-product-thumbnail{
	width:50%;
}

.sidebar-product-bottom{
	display:flex;
}

.cart-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  display: none;
  z-index: 1000;
}

.cart-overlay.active {
  display: block;
}


/* PAGINA PRODOTTO */
.woocommerce-breadcrumb, .woocommerce-products-header__title, .woocommerce-product-gallery__trigger{
    display: none !important;
}

.woocommerce-product-details__short-description{
	display:flex;
 justify-content: end;
}

.related ul::before{
	content:none !important;
}

.ht-products-loop::before{
	content:none !important;
}

.ht-product-title-background {
    position: absolute;
		text-transform: uppercase;
    top: 13%;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 11vw;
    font-weight: bold;
    letter-spacing: 0.5em;
    z-index: 0;
   pointer-events: none; 
    user-select: none;
}

.product-background-title {
    position: absolute;
    top: 0%;
    left: 52.5%;
    transform: translateX(-50%);
    font-size: 15vw;
    color: rgba(255, 0, 0, 0.05); /* rosso opaco */
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 0;
    user-select: none;
    pointer-events: none;
    margin: 0;
    padding: 0;
    line-height: 0.5;
		letter-spacing: 0.4em;
    font-family: "Merriweather", serif;
}

.product-title{
	font-size: 3rem;
  color: #000401;
  font-family: 'Bebas Neue' !important;
	margin-bottom: 0 !important;
	text-align: right;
}

.product-subtitle{
	font-size: 1.7rem;
	line-height: 1.5rem;
  color: #000401;
  font-family: 'Bebas Neue' !important;
	margin-bottom: 0 !important;
	text-align: right;
}

.text-above-button {
    display: block;
    color: #000410;
    font-size: 0.85rem;
    font-family: 'Belleza' !important;
    text-align: right;
}

.text-under-button{
	display: block;
	clear: both;
	color: #000401;
	font-size: 0.8rem;
	font-family: 'Belleza' !important;
	text-align: right;
	margin-right: 1%;
	font-style: italic;
}

.text-under-button i{ 
	margin-left: 1%;
	font-size: 1rem;
	margin-top: 1%;
}

/*.add-to-cart-flex {
    display: flex;          
    align-items: center;    
    gap: 11%;              
}*/

.ht-add-to-cart-grid {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.ht-add-to-cart-grid .row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.ht-add-to-cart-grid .col {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Icone */
.teina-icon-cell, .bio-icon-cell {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.ht-product-info-img-container .teina-icon-cell img,
.ht-product-info-img-container .bio-icon-cell img {
	width: 40% !important;
	height: auto !important;
	margin-left: 0 !important;
}

.ht-product-info-img-container .teina-icon-cell img {
	width: 33% !important;
	height: auto !important;
}

.teina-label {
	font-size: 0.75em;
	font-weight: 500;
	margin-left: 8%;
	color: #000410;
	text-align: center;
}

.bio-label {
	font-size: 0.75em;
	font-weight: 500;
	margin-left: 8%;
	color: #000410;
	text-align: center;
}

.custom-quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
}

/* Bottoni - e + */
.custom-quantity .qty-btn {
    border: none !important; 
    padding: 8px 14px !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    font-weight: bold !important;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    width: 42px;
    line-height: 1;
    color: #000410;
}

/* Input centrale */
.custom-qty-input {
    width: 105px !important;
    height: 42px;
    text-align: center !important;
    border: 2px solid #000410 !important;
    border-radius: 10px !important;
    padding: 6px !important;
    font-weight: bold !important;
    background-color: #e0e0e0 !important;
    font-size: 1rem;
    color: #000410;
    appearance: none;
    -moz-appearance: textfield;
}

.qty-btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ht-ingredient-video {
  width: 100%;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
  display: block;
}
.ht-ingredient-video.visible {
  opacity: 1;
}

.ht-ingredient-title{
	font-weight: bolder;
	text-transform: uppercase;
	font-size: 16px;
}

.ht-ingredient-desc{
	font-weight: bolder;
	font-size: 14px;
}

/* Nasconde le freccette su Chrome, Safari, Edge */
.custom-qty-input::-webkit-outer-spin-button,
.custom-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Nasconde le freccette su Firefox */
/* .custom-qty-input[type=number] {
    -moz-appearance: textfield;
} */

.ht-section_separator-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 40px;
	margin-bottom: 20px;
}

.ht-section_separator {
	width: 25%; 
	max-width: 90%;
	height: 2px;
	background-color: #a6a6a6; 
	border-radius: 2px;
}

.page-header{
	font-family:"Alice" !important;
}

/*.menu-item{
	font-size:1.2rem !important;
}*/

.woocommerce-breadcrumb{
	color:white !important;
}

.alignwide{
	margin-inline: 0 !important;
}

.elementor-44 .elementor-element{
	padding: 0 !important;
	margin-top: 0 !important;
}

.ht-products-loop{
	display:flex;
	display: grid;
  grid-template-columns: auto auto 			auto;
	background-color: #fff;/*#e2e2e2;*/
	border-radius: 25px;
	padding: 0em !important;
	margin: 5em 10em !important;
}
.ht-icon-add-to-cart{
	margin-left:.5em;	
}
.product-category{
	margin: 0 1rem !important;
}

.ht-products-loop li{
	width:100% !important;
	padding: 2rem !important;
	text-align:center;
}

.ht-products-loop h2{
	font-size: 3rem;
  color: #000410;
  font-family: 'DynaPuff' !important;
}

.ht-product-info-img-container{
	display:flex;
	flex-direction: row-reverse;
	margin-top: 7%;
	position: relative;
  z-index: 1;
	align-items: center;
}

.ht-product-info-img-container .entry-summary{
	width:30% !important;
	display:flex !important;
	flex-direction:column !important;
	justify-content: end !important;
}

.ht-product-info-img-container img{
	width: 50% !important;
	margin-left: 12%;
}

.ht-product-info-img-container .cart{
	width:fit-content !important;
	margin:auto;
	margin-right:-1%;
	margin-bottom:1em
}

.ht-product-info-img-container .stock {
	display: none;
}

.ht-add-to-cart-button{
	/*background-color: #ffd28e !important;
	color: #000410!important;
		border: 1px solid #ffd28e !important;*/
  border-radius: 5px !important;
	text-align:center;
	text-transform: uppercase;
	padding-top:1em !important;
	padding-bottom:1em !important;
	font-family:"Merriweather";
}

.ht-add-to-cart-button:hover{
	background-color: #ffd28e !important;
	color: #000410!important;
	border: 1px solid #ffd28e !important;
}

.ht-product-description-font{
	font-size:1rem;
	font-family: 'Belleza';
  color: #000410 !important;
	text-align: right;
	margin-left: 30%;
	line-height: 1.7rem;
}

.ht-product-text-icon {
	color: #000410;
	font-family: 'Open Sans';
	text-transform: uppercase;
}

.ht-product-grid {
    display: grid;
    grid-template-columns: 50% 50%;
}

.ht-home p:empty,
.woocommerce p:empty,
.site-footer p:empty {
  display: none;
}

.ht-showcase-description {
		margin-left: 2em;
		margin-bottom: 5em;
    font-size: 1.5rem;
    font-weight: bold;
		font-family: 'Raleway';
		color: #000410;
}

.ht-product-price{
	color: #000401 !important;
	font-size:1.7em!important;
	display: flex;
  justify-content: end;
}

.ht-product-details{
	display: flex;
  flex-direction: column !important;
}

.ht-product-ingredients-font{
	margin-bottom: 3rem;
  font-family: 'Belleza';
	letter-spacing: 0.4rem !important;
  font-size: 3rem;
	color: #000401;
		margin-left: 0.7em;
}

/*.ht-product-ingredients-font {
  margin-bottom: 3rem;
  font-family: 'Raleway', sans-serif;
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
  color: #000410;
}*/


.ht-product-ingredients-container{
  display: flex;
  flex-direction: column;
}

.ht-product-single-ingredient-card{
	display: flex;
	flex-direction:row !important;
	align-items: flex-start;
	width: 100% !important;
	margin-bottom: 2em;
	gap: 3.2em;
}

.ht-product-single-ingredient-text{
	width: 100%;
	font-family:"Raleway";
	color: #000410;
}

.ht-product-showcase {
	display: flex;
	align-items: center;
	margin-top: 0%;
	margin-bottom: 3%;
}

.related {
	color: #000410 !important;
}

.ht-product-related-title{
	text-align: center;
  font-family: 'Dancing Script';
  font-size: 3rem;
	margin-top: 2em;
}

.ht-product-preparation {
	margin-top: 1rem;
	display: flex;
	flex-direction:column !important;
	align-items: center;
}

/*.ht-preparation-title {
    font-family: 'Dancing Script';
    font-size: 3rem;
    color: #000410;
}

.ht-preparation-steps {
    display: flex;
		flex-direction:row !important;
    gap: 14%;
    margin-top: 4rem;
		margin-bottom: 4rem;
	  width:60%;
}

.ht-preparation-step {
    text-align: center;
    max-width: 150px;
}

.ht-preparation-step img {
    width: 60px;
    margin-bottom: 10px;
}

.ht-preparation-step p {
    font-size: 14px;
    font-weight: bold;
    color: #000410;
}*/

.ht-preparation-grid .ht-product-ingredients-font, .ht-preparation-grid
.ht-product-single-ingredient-text, .ht-preparation-grid
.ht-ingredient-title, .ht-preparation-grid
.ht-ingredient-desc {
  text-align: right;
}

.ht-product-right-image {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.ht-static-right-image {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/** Swiper **/
.related.products {
    position: relative;
    padding: 2em 0;
		overflow: hidden;
}

.related.products .swiper-container {
     padding: 2em 2em 3em;
	   width: 100%;
	   box-sizing: border-box;
}

.related.products .swiper-button-next,
.related.products .swiper-button-prev {
    color: #888;
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    z-index: 10;
}
.related.products .swiper-button-next {
    right: 2%;
}
.related.products .swiper-button-prev {
    left: 2%;
}
.related.products .swiper-button-next:hover,
.related.products .swiper-button-prev:hover {
    color: #000;
    cursor: pointer;
}

.swiper-pagination {
    margin-top: 15px;
    text-align: center;
}
.swiper-slide .woocommerce-loop-product__title {
		font-size: 1em !important;
		margin-top: 2em !important;
		min-height: 3.5em; 
    line-height: 1.2em;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-wrap: balance;
}

.swiper-wrapper .ht-product-container{
	min-height: 26em !important;
}

.related.products .swiper-slide::before {
    content: none !important;
}
.related.products .swiper-slide {
    padding: 0 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
		list-style: none !important;
}

/** STICKY BAR**/
.sticky-bar-common {
	background-color: #fff;
	padding: 1rem 2rem;
	border-top: 1px solid #000;
	display: flex;
	justify-content: center;
	width: 100%;
}
.sticky-product-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    transition: none !important;
}
.sticky-product-bar.hidden {
    transform: translateY(100%);
    pointer-events: none;
}
.sticky-product-bar.stopped {
  position: absolute !important;
  bottom: auto;
}


.sticky-bar-content {
    display: flex;
    gap: 1rem;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.sticky-title {
    font-weight: 700;
    font-size: 1.5em;
		color: #000;
}

.sticky-add-to-cart {
    background-color: #b5a89f; /* il colore2 che hai citato */
    color: white;
    padding: 0.6em 1.5em;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
		text-transform: uppercase;
}
.sticky-left {
	 margin-right: 64em;
}
.sticky-right {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  align-self: flex-end;
}
.sticky-price {
    font-size: 1.5em;
		color: #000;
}

/** FAQ */
.product-faq {
    max-width: 85%;
    margin: 4em auto;
    padding: 2em 1em;
}

.product-faq h2 {
		font-family: "Raleway";
		color: #000410;
    text-align: center;
    font-size: 1.8em;
    letter-spacing: 0.1em;
    margin-bottom: 2em;
    font-weight: bold;
    text-transform: uppercase;
}

.faq-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 3px solid #a6a6a6;
    padding: 1.5em 0;
}

.faq-item:last-child {
    border-bottom: 3px solid #a6a6a6;
}

.faq-item h3 {
		font-family: "Raleway";
		color: #000410;
    flex: 1;
    font-size: 1em;
    font-weight: 700;
    margin: 0;
    padding-right: 1em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.faq-item h3::after {
    content: "›";
    font-size: 1.2em;
    color: #555;
}

.faq-item p {
    flex: 2;
    margin: 0;
    font-size: 0.95em;
    line-height: 1.4;
    color: #333;
}


.wc-block-components-product-name{
	text-decoration: none !important;
	color: #000410 !important;
}

.ht-upsell-container{
	display: flex;
	flex-direction: column;
}

.wc-block-cart-items__row{
	font-size:1.1rem;
}

form input {
	border-radius: 4px !important;
}

form fieldset, .woocommerce-form{
	border-radius: 50px !important;
	border-color: #000410 !important;
}

.woocommerce-product-gallery__trigger{
	background-color:#ffd28e !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg:hover {
	background-color:#ffd28e !important;
}

.woocommerce-Button, .woocommerce-button, .woocommerce-address-fields button{
    margin-top: 2em !important;
    width: 100% !important;
    border-radius: 50px !important;
    height: 3em !important;
    background-color: #000410 !important;
    color: #ffd28e !important;
	text-align:center;
	padding: 2em !important;
	text-transform: uppercase;
	line-height:0 !important;
}

ul {
	list-style-type: none;
}

.woocommerce-MyAccount-navigation ul {
	border: 1px solid #000410;
	border-radius: 50px;
	padding:2em;
}

.woocommerce-MyAccount-navigation li{
	margin-bottom:2em;
	border: 1px solid #000410;
	border-radius: 50px;
	background-color: #000410;
	padding: 1em;
	text-align:center;
	text-transform: uppercase;
}

.woocommerce-ordering, .woocommerce-result-count{
	display:none;
}

.wc-block-components-product-low-stock-badge, .wc-block-components-product-metadata{
	display:none !important;
}

.page-content{
	/* background-color:#ffd28e; */
	border-radius:50px;
	margin-bottom: 3em;
	padding:2em;
	color: #000410 !important;
}

/* .woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation{
	
} */

.woocommerce-MyAccount-navigation a {
	color: #000410 !important;
}

.woocommerce-MyAccount-content a{
	color: #000410 !important;
}

.woocommerce-MyAccount-navigation li > a{
	text-decoration: none !important;
	color: #ffd28e !important;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background-color: white !important;
	color: #000410 !important;
}

.woocommerce-error a, .woocommerce-info a, .woocommerce-message a{
	color: #ffd28e !important;
}

.woocommerce-MyAccount-content{
	padding-right:10%;
	text-align:right;
}

.ht-locked{
	filter: grayscale(100%);
  pointer-events: none;
}

/* HEADER */
.site-header{
	padding-block-start: 0rem !important;
}

.site-header .site-navigation {
	width:100%;
	align-items:start;
	display:flex;
	flex-direction:column;
	margin-top: 1em;
}

.site-navigation.scrolled {
    margin-top: -0.5rem !important;
}

.site-header .site-navigation ul.menu li a {
	color: #ffffff !important;
	font-weight: bold;
}

.site-header .site-navigation ul.menu li a:hover {
	color: #ffd28e !important;
}

.site-logo{
	margin-top: 1.5em;
}

.site-header .site-branding .site-logo img{
	max-width: 44% !important;
}

.site-navigation .menu-item {
	font-family: "Open Sans" !important;
}

.ht-menu-aligned{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.ht-harmonia-font {
	font-family: 'Montserrat';
  font-weight: 500;
	letter-spacing: 5.5px;
	font-size:1.2em;
	color: #ffd28e;
}

.ht-harmonia-font-link {
	font-family: 'Montserrat';
  font-weight: 500;
	letter-spacing: 5.5px;
	font-size:1.0em;
	color: #ffd28e !important;
}

.ht-harmonia-font-link:hover{
	font-weight:500 !important;
}

/* =========================================
   HEADER MOBILE
   ========================================= */
@media screen and (max-width: 992px) {

  /* Header principale */
  header#site-header {
    width: 100%;
    padding: 12px 18px !important;
    background-color: #000410;
  }

  header#site-header .header-inner {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    min-height: 68px;
  }

  /*
   * Branding mobile:
   * annulla le regole desktop che ingrandivano e spostavano il logo
   */
  header#site-header .header-inner > .site-branding.hide-on-large {
    display: flex;
    flex: 0 1 auto;
    justify-content: center;
    align-items: flex-start;
    width: auto;
    max-width: calc(100% - 70px);
    margin: 0;
    padding: 0;
  }

  header#site-header .header-inner > .site-branding.hide-on-large .site-logo {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  header#site-header
  .header-inner
  > .site-branding.hide-on-large
  .custom-logo-link {
    display: block;
    width: auto;
    max-width: 100%;
  }

  header#site-header
  .header-inner
  > .site-branding.hide-on-large
  .custom-logo {
    display: block;
    width: 155px !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 70px !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: left center;
  }

  /* Pulsante hamburger */
  header#site-header .site-navigation-toggle-holder {
    position: relative;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    z-index: 10002;
  }

  header#site-header .site-navigation-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    padding: 11px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
  }

  header#site-header .site-navigation-toggle:hover,
  header#site-header .site-navigation-toggle:focus {
    background-color: rgba(255, 255, 255, 0.08);
    color: #ffd28e;
  }

  header#site-header .site-navigation-toggle-icon {
    width: 24px;
  }

  header#site-header .site-navigation-toggle-icon::before,
  header#site-header .site-navigation-toggle-icon::after {
    height: 3px;
    background-color: currentColor;
  }

  /*
   * Dropdown mobile:
   * deve iniziare subito sotto l'header
   */
  header#site-header .site-navigation-dropdown {
    position: absolute;
    top: 100%;
    bottom: auto;
    left: -18px;
    width: calc(100% + 36px);
    margin: 0;
    padding: 0;
    z-index: 10001;
    transform-origin: top;
  }

  header#site-header .site-navigation-dropdown ul.menu {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    background-color: #000410;
  }

  header#site-header .site-navigation-dropdown ul.menu li {
    display: block;
    width: 100%;
    margin: 0;
  }

  header#site-header .site-navigation-dropdown ul.menu li a {
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 16px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    background-color: #000410;
    box-shadow: none;
    color: #ffffff !important;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
  }

  header#site-header .site-navigation-dropdown ul.menu li a:hover,
  header#site-header .site-navigation-dropdown ul.menu li a:focus {
    background-color: rgba(255, 210, 142, 0.08);
    color: #ffd28e !important;
  }

  header#site-header
  .site-navigation-dropdown
  ul.menu
  li.current-menu-item
  > a {
    background-color: rgba(255, 210, 142, 0.12);
    color: #ffd28e !important;
  }
}

/* =========================================
   BANNER SITO IN COSTRUZIONE
   ========================================= */

:root {
  --ht-admin-bar-height: 0px;
  --ht-banner-height: 0px;
}

/* Altezza barra amministrativa WordPress */
body.admin-bar {
  --ht-admin-bar-height: 32px;
}

.custom-under-construction-banner {
  position: fixed;
  top: var(--ht-admin-bar-height);
  left: 0;
  z-index: 10002;

  width: 100%;
  padding: 10px 20px;
  box-sizing: border-box;

  background-color: #111111;
  color: #ffffff;

  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}

/* Header posizionato subito sotto il banner */
header#site-header {
  top: calc(
    var(--ht-admin-bar-height) +
    var(--ht-banner-height)
  );
}

/* La barra admin mobile è alta 46px */
@media screen and (max-width: 782px) {
  body.admin-bar {
    --ht-admin-bar-height: 46px;
  }

  .custom-under-construction-banner {
    padding: 10px 15px;
    font-size: 15px;
    line-height: 1.45;
  }
}

/* =========================================
   HEADER SEMPRE ANCORATO AL VIEWPORT
   ========================================= */

header#site-header {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;

  width: 100vw !important;
  width: 100dvw !important;
  max-width: 100vw !important;
  max-width: 100dvw !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  box-sizing: border-box;
  overflow: visible;
}

/* Anche il banner deve seguire il viewport,
   non la larghezza della pagina prodotto */
.custom-under-construction-banner {
  position: fixed;
  left: 0 !important;
  right: 0 !important;

  width: 100vw !important;
  width: 100dvw !important;
  max-width: 100vw !important;
  max-width: 100dvw !important;

  margin: 0 !important;
  box-sizing: border-box;
}

/* Contenitore interno dell'header */
header#site-header .header-inner {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* Il pulsante hamburger non deve mai essere compresso
   o spinto fuori dall'area visibile */
header#site-header .site-navigation-toggle-holder {
  flex: 0 0 46px !important;
  width: 46px;
  min-width: 46px;
  max-width: 46px;

  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Il dropdown mobile deve avere la larghezza dell'header */
header#site-header .site-navigation-dropdown {
  max-width: none !important;
  box-sizing: border-box;
}

@media screen and (max-width: 992px) {
  header#site-header {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  header#site-header .site-navigation-dropdown {
    left: -18px !important;
    right: auto !important;

    width: calc(100% + 36px) !important;
    max-width: calc(100% + 36px) !important;
  }
}

/*FOOTER*/
footer#site-footer {
  background-color: #000410; 
  color: #f5c28f;          
  padding: 2% 4%;
  font-family: "Open Sans", sans-serif;
}

.site-footer .footer-inner {
  display: block !important;
  /* oppure display: initial !important; */
  justify-content: unset !important;
  flex-wrap: unset !important;
}

/* Contenitore della prima riga */
.ht-footer-row1 {
  display: flex;
  justify-content: space-around;  
  align-items: center; 
  margin: 2rem 0;  
}

.ht-footer-item {
  display: flex; 
  align-items: center; 
	justify-content: center; 
  gap: 2rem;  
}

.ht-footer-item img {
  width: 17%;
  display: block; 
}

.ht-footer-item:nth-child(3) img {
    width: 24%; /* ingrandisce solo la tartaruga */
}

.ht-footer-item h4 {
  margin: 0;          
  font-size: 1rem;   
  font-weight: 700;
  line-height: 1.4;
  color: #f5c28f;    
}


/* Contenitore della seconda riga */
.ht-footer-row2 {
  display: flex;          
  flex-wrap: wrap;        
  gap: 2rem;              
  margin: 5rem 0 0;         
}

/* Azienda biologica*/
.ht-company-bio {
  flex: 1 1 200px;        
  text-align: center;    
}

/* Logo biologico */
.ht-company-bio img {
  width: 25% !important;       
  display: block;
  margin: 1rem auto 0.7rem;
}

/* Contatti*/
.ht-contacts {
  flex: 1 1 200px;
  text-align: center;
}

/* Area clienti */
.ht-client-area {
  flex: 1 1 200px;
  text-align: center;
}

/* Recapiti aziendali */
.ht-company-info {
  flex: 1 1 200px;
  text-align: right;
	margin-right: 7rem;
	margin-bottom: 5rem;
}

/* Titoli delle 4 sezioni */
.ht-company-bio h4,
.ht-contacts h4,
.ht-client-area h4,
.ht-company-info h4 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
	color: #f5c28f; 
}

/* Testi (p) */
.ht-company-bio p,
.ht-contacts p,
.ht-client-area p,
.ht-company-info p {
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 0.25rem 0;
	color: #ffffff;
}

/* Link: colore bianco, no underline */
.ht-footer-row2 a {
  color: #fff !important;
  text-decoration: none;
}
.ht-footer-row2 a:hover {
  text-decoration: underline;
  color: #f5c28f !important;
}

/*BRANDING*/
.site-branding .footer-logo img {
  width: 20% !important;     
  display: block;
  margin: 0 0 1rem auto;
}

/* SOCIAL ICONS */
.ht-social-icons {
  display: inline-flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.ht-social-icons a {
  color: #ffffff;
  font-size: 1.5rem;
  transition: color 0.3s ease;
}
.ht-social-icons a:hover {
  color: #f5c28f;
}

/* =========================================
   FOOTER MOBILE
   ========================================= */
@media screen and (max-width: 768px) {

  footer#site-footer {
    padding: 35px 20px;
    overflow: hidden;
  }

  .site-footer .footer-inner {
    width: 100%;
    max-width: 100%;
  }

  /* Prima riga: vantaggi */
  .ht-footer-row1 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px 20px;
    width: 100%;
    margin: 20px 0 55px;
    padding: 0;
    align-items: start;
  }

  .ht-footer-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    min-width: 0;
    width: 100%;
    text-align: center;
  }

  /* Dimensione fissa, non più percentuale */
  .ht-footer-item img {
    display: block;
    width: 48px;
    height: 48px;
    max-width: none;
    object-fit: contain;
    flex-shrink: 0;
    margin: 0 auto;
  }

  /* La tartaruga è più orizzontale */
  .ht-footer-item:nth-child(3) img {
    width: 58px;
    height: 48px;
  }

  .ht-footer-item h4 {
    margin: 0;
    padding: 0;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
    color: #f5c28f;
    overflow-wrap: normal;
    word-break: normal;
  }
	
	/* Seconda riga del footer */
	.ht-footer-row2 {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		gap: 45px;
		width: 100%;
		margin: 0;
	}

	/* Tutte le sezioni occupano la larghezza disponibile */
	.ht-contacts,
	.ht-client-area,
	.ht-company-info {
		flex: none;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	/* Titoli */
	.ht-contacts h4,
	.ht-client-area h4,
	.ht-company-info h4 {
		margin: 0 0 15px;
		font-size: 28px;
		line-height: 1.25;
		text-align: center;
	}

	/* Testi e link */
	.ht-contacts p,
	.ht-client-area p,
	.ht-company-info p {
		margin: 0 0 10px;
		padding: 0;
		font-size: 18px;
		line-height: 1.5;
		text-align: center;
		overflow-wrap: anywhere;
	}

	/* Evita margine aggiuntivo sull'ultima riga */
	.ht-contacts p:last-child,
	.ht-client-area p:last-child,
	.ht-company-info p:last-child {
		margin-bottom: 0;
	}

	/* Logo aziendale centrato */
	.site-branding {
		width: 100%;
		text-align: center;
	}

	.site-branding .footer-logo {
		width: 100%;
		text-align: center;
	}

	.site-branding .footer-logo a {
		display: inline-block;
	}

	.site-branding .footer-logo img {
		display: block;
		width: 90px !important;
		height: auto;
		margin: 0 auto 20px;
	}

	/* Dati aziendali */
	.ht-company-info {
		margin-right: 0;
		margin-bottom: 25px;
		text-align: center;
	}

	/* Icone social centrate */
	.ht-social-icons {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 25px;
		width: 100%;
		margin: 25px 0 0;
	}

	.ht-social-icons a {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 42px;
		height: 42px;
		margin: 0;
		font-size: 34px;
		line-height: 1;
		text-align: center;
	}
	
}

/* COLLEZIONE */

/* .ht-side-bar-collection{
	
} */

.ht-side-bar-inside-collection{
	display: flex;
	flex-direction: column;
	align-items:center;
	color:black;
	width: 50%;
	margin: 0 auto;
}

.ht-side-bar-inside-collection > * {
	margin-top:2em;
}

.ht-container-collection{
	background-color: white;
	margin-top: 200px;
	display: flex;
    justify-content: space-around;
	padding-top: 5em;
	/* padding-bottom 5em; */
	flex-direction: row-reverse;
}

/* .ht-right-collection{
	
} */

.ht-harmonia-font-collection{
		font-family: 'Montserrat';
  font-weight: 500;
	letter-spacing: 5.5px;
	font-size:1.2em;
}

.ht-title-collection {
	display:flex;
}

.ht-title-collection {
		color: black;
}

.ht-title-collection img{
	width:20%;
	padding-left:10rem;
	margin-right:3rem;
}

.ht-right-collection > .ht-products-loop{
	grid-template-columns: auto auto auto auto;
}

.ht-profile-image{
	border-radius:50px;
	width: 7em;
}

/** {
  outline: 1px solid rgba(255, 0, 0, 0.2);
}*/

/* CSS per il Layout pag prodotti*/
.ht-product-container {
    display: flex;
	  flex-direction: column;
    align-items: center;
    margin: auto;
	  height: 100%;
    justify-content: space-between;
	 	/*border: 1px solid #ffd28e;*/
		gap: 0.5em;
		padding: 1em 5em;
		max-width: 100%;
		width: 100%;
		box-shadow: 1px 4px 6px rgba(0, 0, 0, 0.10) !important;
	border-radius: 25px
}

ul.products li.product {
	box-sizing: border-box;
	width: 100%;
	max-width: 530.5px; /*1920x1080*/
	margin-left: auto;
	margin-right: auto;
}

/*.ht-product-container{
	padding: 2em;
  border: 1px solid #ffd28e;
  border-radius: 50px;
  background-color: #ffd28e;
}*/

.ht-product-container > a > h2 {
	color: black !important;
	font-weight: 600;
	font-family:"Bree Serif" !important;
	margin-top: 4em !important;
}

.ht-product-container > a > h4 {
	color: black !important;
	font-weight: 400;
	font-size: 14px !important;
	font-family:"Bree Serif" !important;
	margin: 0;
}

.ht-product-container .price{
	color: black !important;
	font-size:1em !important;
	font-family:"Bree Serif" !important;
}

.add_to_cart_button{
	display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
	min-width: 140px;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border-radius: 5px !important;
  /*background-color: #ffd28e !important;
  color: #000410 !important;
	border: 1px solid #000410 !important;*/
	background-color: transparent !important;
  color: #e5b873 !important;
  border: 0px solid #ffd28e !important;
	text-align:center;
	font-family:"Merriweather";
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
	box-shadow: 1px 4px 6px rgba(0, 0, 0, 0.10) !important;
}

.add_to_cart_button.is-active {
  background-color: #000410 !important;
  color: #ffd28e !important;
  border: 1px solid #000410 !important;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
	box-shadow: none !important;
}

.add_to_cart_button:hover{
	color: #ffd28e !important;
	background-color: #000410 !important;
	/*border: 1px solid #000410 !important;*/
	box-shadow: none !important;
}

.add_to_cart_button.added::after {
    display: none !important;
    content: none !important;
}

.add_to_cart_button.loading {
    /*opacity: 1 !important;
    background: inherit !important;
    color: inherit !important;*/
		pointer-events: none !important;
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		vertical-align: middle !important;
    padding: 0.6em 1.2em !important;
    gap: 0.4em !important;
}

.add_to_cart_button.loading::after,
.add_to_cart_button.loading::before  {
    content: none !important;
    display: none !important;
}

.add_to_cart_button svg {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.4em;
		height: 1.4em;
		fill: currentColor;
}

.add_to_cart_button .btn-text {
    display: inline-block;
    min-width: 5.5ch;
    text-align: left;
}

a.button.not-available {
	display: inline-flex !important;
	width: auto !important;
  min-width: 140px !important;
  max-width: 100% !important;
	box-sizing: border-box !important;
  border-radius: 5px !important;
  background-color: #e2e2e2 !important;
  color: rgba(0, 0, 0, 0.5) !important;
  font-family: "Merriweather";
  border: 1px solid #000410;
	pointer-events: none !important;
  cursor: not-allowed !important;
}
a.button.not-available svg {
  display: none !important;
}

/* Toast */
.add-to-cart-toast {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #000410;
    color: #ffd28e;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 24px;
    z-index: 9999;
    opacity: 0;
    transform: translateY(100%);
    transition: all 0.4s ease;
    font-size: 16px;
    font-family: "Merriweather", serif;
}

.add-to-cart-toast.active {
    opacity: 1;
    transform: translateY(0%);
}

.add-to-cart-toast .check-icon {
    width: 24px;
    height: 24px;
    fill: #ffd28e;
    flex-shrink: 0;
}

.add-to-cart-toast .progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    height: 3px;
    background-color: #ffd28e;
    width: 100%;
    animation: progressBar 3.5s linear forwards;
}

@keyframes progressBar {
    from { width: 100%; }
    to { width: 0%; }
}

/* Toast errore */

.add-to-cart-toast.error {
	background-color: #8a0000;
	color: #fff;
}
.add-to-cart-toast.error .progress-bar {
  background-color: rgba(235, 0, 0, 0.4) !important;
}


.ht-product-container img {
	width: 60% !important;
	margin: auto !important;
}

.ht-product-image,
.ht-right-image {
    display: flex;
    flex-direction: column;
}

.ht-product-image img,
.ht-right-image img {
    width: 50%;
}

/*.ht-product-details {
    flex: 1;
}*/

.ht-product-description {
    font-size: 18px;
    font-weight: 500;
}

.ht-product-icons-container {
  display: flex;
  gap: 1%;
  align-items: center;
  width: 52%;
  justify-content: end;
	margin-bottom: 5%;
}

.ht-product-icon {
  display: flex;
  align-items: center;
  gap: 1%;
}

.ht-product-icon img {
  height: auto;
  display: block;
}

.ht-product-text-icon {
	margin: 0;  
	text-align: center; 
  font-size: 12px; 
  line-height: 1.3;
	font-weight: 600;
}


.ht-product-single-ingredient-text p {
    margin-right: 36%;
    font-size: 14px;
}


/* MEDIA QUERY */


@media (min-width:600px) {
	
	.hide-on-large{
		display: none !important;
	}
}

@media (min-width:820px) {
	/*.ht-product-ingredients-container{
		width: 50%;
	}*/
	
	/*.ht-product-single-ingredient-card{
		flex-direction:row;
	}*/
	.ht-subcategory-list{
		grid-column: 1/-1;
    display: flex;
		align-items: center;
	}
	/*.ht-products-loop{
		display: grid;
  	grid-template-columns: auto auto 			auto;
	}*/
	/*
	.ht-products-loop li{
		width:25% !important;
	}*/
	.ht-footer-container {
		grid-template-columns:repeat(4,minmax(200px,1fr));
        }
}


/* COLORI */
/* honeygold*/
.text-color-honeygold{
	color: #F4C77E !important;
}
.background-button-color-honeygold{
	background-color: rgba(244, 199, 126, 0.5) !important;
	color: #000410 !important;
}
.background-button-color-honeygold:hover:not([data-no-hover]){
	background-color: rgba(244, 199, 126, 1) !important;
	color: #000410 !important;
	border: none !important;
}
.add_to_cart_button.hover-button-color-honeygold:hover{
	background-color: #F4C77E !important;
	color: #000410 !important;
}
.add_to_cart_button.is-active.hover-button-color-honeygold{
	background-color: #F4C77E !important;
	color: #000410 !important;
}
/* lightcoral */
.text-color-lightcoral{
	color: #fa7487 !important;
}
.background-button-color-lightcoral{
	background-color: rgba(250, 116, 135, 0.5) !important;
	color: #000410 !important;
}
.background-button-color-lightcoral:hover:not([data-no-hover]){
	background-color: rgba(250, 116, 135, 1) !important;
	color: #000410 !important;
	border: none !important;
}
.add_to_cart_button.hover-button-color-lightcoral:hover{
	background-color: #fa7487 !important;
	color: #000410 !important;
}
.add_to_cart_button.is-active.hover-button-color-lightcoral {
  background-color: #fa7487 !important;
  color: #000410 !important;
}
/* darkbronze */
.text-color-darkbronze{
	color: #7d5e2a !important;
}
.ht-product-title-color-darkbronze{
	color: rgba(125, 94, 42, 0.1) !important;;
}
.background-button-color-darkbronze{
	background-color: rgba(125, 94, 42, 0.5) !important;
	color: #000410 !important;
}
.background-button-color-darkbronze:hover:not([data-no-hover]) {
	background-color: rgba(125, 94, 42, 1) !important;
	color: #000410 !important;
	border: none !important;
}
.add_to_cart_button.hover-button-color-darkbronze:hover{
	background-color: #7d5e2a !important;
	color: #000410 !important;
}
.add_to_cart_button.is-active.hover-button-color-darkbronze {
  background-color: #7d5e2a !important;
  color: #000410 !important;
}
/* nextcolor*/

.ins-toggle-btn {
    display: none !important;
}

/* =========================================
   HOMEPAGE - RESET WRAPPER / SFONDI
   ========================================= */

body.home,
body.home .site-content,
body.home .site-main,
body.home article.page,
body.home .page-content,
body.home .entry-content,
body.home .elementor,
body.home .elementor-section,
body.home .elementor-widget-shortcode,
body.home .elementor-widget-shortcode .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #000410 !important;
}

body.home .ht-home {
  margin: 0 !important;
  padding: 0 !important;
  background: #000410;
}

/* =========================================
   HEADER DESKTOP - ALLINEAMENTO
   ========================================= */

@media screen and (min-width: 993px) {

  #site-header .site-navigation {
    width: 100%;
    display: flex;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center;
    margin-top: 0 !important;
  }

  #site-header .site-branding {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
  }

  #site-header .site-logo {
    margin-top: 0 !important;
    display: flex;
    align-items: center;
  }

  #site-header .site-branding .site-logo img {
    display: block;
  }

  #site-header .ht-menu-aligned {
    width: 100%;
    min-height: 72px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center !important;
    gap: 24px;
  }

  #site-header .ht-harmonia-font {
    display: block;
    justify-self: start;
  }

  #site-header .ht-menu-aligned ul,
  #site-header .ht-menu-aligned li {
    display: flex;
    align-items: center;
  }

  #site-header .ht-menu-aligned .menu,
  #site-header .ht-menu-aligned .sub-menu {
    margin: 0;
  }

  #site-header .ht-menu-icons {
    display: flex;
    align-items: center !important;
    justify-content: flex-end;
    gap: 16px;
  }

  #site-header .ht-expandable-search,
  #site-header .ht-menu-icons a,
  #site-header .ht-menu-icons span {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #site-header .ht-menu-aligned > .menu-categorie-container {
    justify-self: center;
  }

  #site-header .ht-menu-icons {
    justify-self: end;
  }
}

/* ==========================================================
   HOMEPAGE — CORREZIONI FINALI
   ========================================================== */
body.home,
body.home #page,
body.home .site-content,
body.home .site-main,
body.home article.page,
body.home .page-content,
body.home .entry-content,
body.home .elementor,
body.home .e-con,
body.home .elementor-widget-shortcode,
body.home .elementor-widget-shortcode > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  background-color: var(--ht-night) !important;
}

body.home .site-main {
  border-radius: 0 !important;
}

/* Evita che il contenuto finisca sotto header e banner fissi. */
body.home .ht-home {
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================
   HEADER DESKTOP — RIPRISTINO COMPORTAMENTO TOP / SCROLL
   Questa sezione deve restare IN FONDO al file.
   ========================================================== */
@media screen and (min-width: 993px) {

  /* La navigazione conserva le due righe logiche:
     logo sopra quando siamo in cima, barra compatta allo scroll. */
  #site-header .site-navigation {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center;
    margin-top: 0 !important;
    transition: margin-top 0.3s ease;
  }

  /* Logo grande nello stato iniziale */
  #site-header .site-branding {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 0;
    padding: 0 32px;
    overflow: hidden;
    transition:
      max-height 0.3s ease,
      opacity 0.25s ease,
      padding 0.3s ease;
  }

  #site-header .site-logo {
    display: flex;
    align-items: center;
    margin: 0 !important;
  }

  #site-header .site-branding .site-logo img,
  #site-header .custom-logo {
    display: block;
    width: auto !important;
    max-width: 260px !important;
    max-height: 118px;
    object-fit: contain;
    object-position: left center;
    transition:
      max-height 0.3s ease,
      opacity 0.25s ease;
  }

  /* Riga categoria + azioni */
  #site-header .ht-menu-aligned {
    width: 100%;
    min-height: 72px;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
    align-items: center !important;
    gap: 24px;
    padding: 0 32px;
    transition:
      min-height 0.3s ease,
      padding 0.3s ease;
  }

  /* In cima la scritta testuale è nascosta: si vede il logo grafico */
  #site-header .site-navigation:not(.scrolled) .ht-harmonia-font {
    display: block;
    justify-self: start;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  /* Allo scroll compare la scritta compatta */
  #site-header .site-navigation.scrolled .ht-harmonia-font {
    display: block;
    justify-self: start;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: opacity 0.2s ease;
  }

  #site-header .ht-menu-aligned > .menu-categorie-container {
    justify-self: center;
  }

  #site-header .ht-menu-aligned ul,
  #site-header .ht-menu-aligned li {
    display: flex;
    align-items: center;
  }

  #site-header .ht-menu-aligned .menu,
  #site-header .ht-menu-aligned .sub-menu {
    margin: 0;
  }

  #site-header .ht-menu-icons {
    display: flex;
    align-items: center !important;
    justify-content: flex-end;
    justify-self: end;
    gap: 16px;
  }

  #site-header .ht-expandable-search,
  #site-header .ht-menu-icons > a,
  #site-header .ht-menu-icons > div,
  #site-header .ht-menu-icons #carticon {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Stato compatto dopo lo scroll */
  #site-header .site-navigation.scrolled {
    margin-top: 0 !important;
  }

  #site-header .site-navigation.scrolled .site-branding {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }

  #site-header .site-navigation.scrolled .site-branding .custom-logo {
    max-height: 0 !important;
    opacity: 0;
  }

  #site-header .site-navigation.scrolled .ht-menu-aligned {
    min-height: 64px;
  }
}

/* ==========================================================
   CONTATORE CARRELLO
   ========================================================== */
#carticon {
  position: relative !important;
  overflow: visible !important;
}

#carticon > .ins-items-count,
#carticon .ins-items-count {
  position: absolute !important;
  top: -7px !important;
  right: -9px !important;
  bottom: auto !important;
  left: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 17px !important;
  min-width: 17px !important;
  max-width: 17px !important;
  height: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;

  margin: 0 !important;
  padding: 0 3px !important;
  border: 1px solid var(--ht-night) !important;
  border-radius: 999px !important;

  background: var(--ht-gold) !important;
  color: var(--ht-night) !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;

  z-index: 5 !important;
  transform: none !important;
}

/* Nasconde l'eventuale pulsante flottante del plugin:
   il carrello viene già aperto dall'icona personalizzata. */
.ins-toggle-btn {
  display: none !important;
}

/* ==========================================================
   HEADER DESKTOP — LOGO A SINISTRA + ALLINEAMENTO VERTICALE
   Override finale: lasciare questa sezione in fondo al file.
   ========================================================== */
@media screen and (min-width: 993px) {

  /*
   * La navigazione diventa un unico riferimento orizzontale.
   * Il logo grande è posizionato a sinistra sopra la prima
   * colonna della griglia; categoria e azioni restano centrati.
   */
  #site-header .site-navigation {
    position: relative;
    display: block !important;
    width: 100%;
    min-height: 120px;
    margin-top: 0 !important;
  }

  /* Logo grande: a sinistra e centrato verticalmente */
  #site-header .site-navigation > .site-branding {
    position: absolute;
    top: 50%;
    left: 32px;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    width: 260px;
    max-width: 260px;
    height: auto;
    max-height: 118px;
    margin: 0;
    padding: 0;

    overflow: hidden;
    opacity: 1;
    transform: translateY(-50%);

    transition:
      max-height 0.3s ease,
      opacity 0.25s ease,
      transform 0.3s ease;
  }

  #site-header .site-navigation > .site-branding .site-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 0 !important;
  }

  #site-header .site-navigation > .site-branding .custom-logo-link {
    display: block;
    width: 100%;
  }

  #site-header .site-navigation > .site-branding .custom-logo {
    display: block;
    width: auto !important;
    max-width: 230px !important;
    height: auto !important;
    max-height: 112px !important;
    margin: 0 !important;
    object-fit: contain;
    object-position: left center;
  }

  /*
   * Una sola riga:
   * colonna sinistra = logo o scritta compatta
   * colonna centrale = categorie
   * colonna destra = ricerca, carrello, profilo
   */
  #site-header .ht-menu-aligned {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
    align-items: center !important;
    gap: 24px;

    width: 100%;
    min-height: 120px;
    margin: 0;
    padding: 0 32px;
  }

  /* Prima colonna: spazio riservato al logo quando siamo in cima */
  #site-header .ht-harmonia-font {
    justify-self: start;
    align-self: center;
    margin: 0;
  }

  #site-header .site-navigation:not(.scrolled) .ht-harmonia-font {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  /* Menu categorie realmente centrato */
  #site-header .ht-menu-aligned > .menu-categorie-container {
    justify-self: center;
    align-self: center;
    display: flex;
    align-items: center;
  }

  #site-header .ht-menu-aligned > .menu-categorie-container > ul,
  #site-header .ht-menu-aligned > .menu-categorie-container > ul > li,
  #site-header .ht-menu-aligned > .menu-categorie-container > ul > li > a {
    display: flex;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
  }

  /* Azioni allineate alla stessa linea verticale */
  #site-header .ht-menu-icons {
    justify-self: end;
    align-self: center;

    display: flex;
    align-items: center !important;
    justify-content: flex-end;
    gap: 16px;

    height: 100%;
    margin: 0;
  }

  #site-header .ht-menu-icons > *,
  #site-header .ht-expandable-search,
  #site-header .ht-expandable-search .woocommerce-product-search,
  #site-header .ht-menu-icons > a,
  #site-header .ht-menu-icons > div,
  #site-header .ht-menu-icons #carticon {
    align-self: center;
  }

  /* Stato compatto allo scroll */
  #site-header .site-navigation.scrolled {
    min-height: 64px;
  }

  #site-header .site-navigation.scrolled > .site-branding {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) scale(0.96);
  }

  #site-header .site-navigation.scrolled .ht-menu-aligned {
    min-height: 64px;
  }

  #site-header .site-navigation.scrolled .ht-harmonia-font {
    display: block !important;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}

/* ==========================================================
   HEADER DESKTOP — SPAZIATURA RIDOTTA + TRANSIZIONE MORBIDA
   Override finale: lasciare questa sezione in fondo al file.
   ========================================================== */
@media screen and (min-width: 993px) {

  /* Riduce l'altezza complessiva dell'header in cima */
  #site-header .site-navigation {
    min-height: 96px !important;
  }

  /* Logo più piccolo e più vicino al bordo superiore/sinistro */
  #site-header .site-navigation > .site-branding {
    top: 50%;
    left: 28px;
    width: 220px;
    max-width: 220px;
    max-height: 96px;
    transform: translateY(-50%);
    transition:
      max-height 0.45s ease,
      opacity 0.35s ease,
      transform 0.45s ease,
      visibility 0s linear 0.45s;
  }

  #site-header .site-navigation > .site-branding .custom-logo {
    max-width: 205px !important;
    max-height: 92px !important;
    transition:
      max-height 0.45s ease,
      opacity 0.35s ease,
      transform 0.45s ease;
  }

  /* Riga centrale più compatta */
  #site-header .ht-menu-aligned {
    min-height: 96px !important;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
    padding: 0 28px;
    transition:
      min-height 0.45s ease,
      padding 0.45s ease;
  }

  /* Scritta compatta: fade-in più morbido */
  #site-header .ht-harmonia-font {
    transition:
      opacity 0.35s ease 0.08s,
      transform 0.35s ease 0.08s,
      visibility 0s linear 0.08s;
  }

  #site-header .site-navigation:not(.scrolled) .ht-harmonia-font {
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
  }

  #site-header .site-navigation.scrolled .ht-harmonia-font {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  /* Stato compatto */
  #site-header .site-navigation.scrolled {
    min-height: 64px !important;
  }

  #site-header .site-navigation.scrolled > .site-branding {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) scale(0.94);
    pointer-events: none;
  }

  #site-header .site-navigation.scrolled > .site-branding .custom-logo {
    max-height: 0 !important;
    opacity: 0;
    transform: scale(0.94);
  }

  #site-header .site-navigation.scrolled .ht-menu-aligned {
    min-height: 64px !important;
  }
}

