/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
body a { text-decoration: none !important; }
#page { overflow: hidden; }
body.ehf-header #masthead { position: fixed; top: 0; left: 0; right: 0; width: 100%; }
#page .mainheader { backdrop-filter: blur(40px); } 
.productilist { padding: 0; list-style: none; display: flex; flex-wrap: wrap; margin: 0 -15px; }
.productilist .item { width: 33.33%; padding: 15px; }
.productimg { display: block; width: 100%; margin: 0 0 15px; }
.productimg .img-fluid { width: 100%; }
.productdata { text-align: center; }
.productdata h4 { font-size: 24px; font-weight: 400; color: #000; margin: 0 0 20px; }
#page .blackboderbtn { background: transparent; font-size: 16px; color: #000; display: inline-block; border-radius: 16px; padding: 14px 16px; border: 1px solid #000; line-height: initial; font-weight: 600; transition: all .4s; }
#page .blackboderbtn:hover { background: #474747; border-color: #474747; color: #fff; }
.contactform_row .form-group { width: 100%; margin: 0 0 15px; }
.contactform_row p { margin: 0; padding: 0; position: relative; }
.contactform_row .form-group .form-control { width: 100%; border: 1px solid #000; background: #fff; color: #000; border-radius: 14px; padding: 12px 15px; outline: none; box-shadow: none; }
.contactform_row .form-group textarea.form-control { height: 140px; }
.contactform_row .submitbtn { width: 100%; background: #212121; border: 1px solid #212121; color: #fff; border-radius: 16px; font-weight: 600; padding: 12px 15px; outline: none; box-shadow: none; transition: all .4s; }
.contactform_row .submitbtn:hover { background: #454545; border-color: #454545; }
.contactform_row .wpcf7-spinner { position: absolute; right: 0; top: 10px; filter: invert(1); opacity: 1; }
#page .wpcf7-not-valid-tip { font-weight: 500; font-size: 15px; margin: 5px 0 0; }
#page form.invalid .wpcf7-response-output { background: #dc3232; border: 1px solid #dc3232; color: #fff; text-align: center; margin: 15px 0 0; border-radius: 10px; padding: 5px 10px; }
#page form.sent .wpcf7-response-output { background: #46b450; border: 1px solid #46b450; color: #fff; text-align: center; margin: 15px 0 0; border-radius: 10px; padding: 5px 10px; }
/*  */
.bannersection { width: 100%; position: relative; overflow: hidden; }
.bannersection ul { margin: 0; padding: 0; list-style: none; }
.bannerslide { width: 100%; height: 100%; display: flex; padding: 200px 0 100px; justify-content: space-between; background: radial-gradient(48.3% 108.67% at 50% 55.26%, #DDFFFE 0%, #37C7C1 100%); } 
.bannerslide:before { content: ''; background: url(/tenuta-la-gemma/wp-content/uploads/2025/12/bannerlogo.png) no-repeat center center; background-size: 50%; width: 100%; height: 100%; position: absolute; top: 0; left: 0; opacity: 0.1; z-index: 3; }
/* left */
.bannerleftimg { width: 33%; } 
.bannerleftimg img { position: absolute; left: 0; bottom: 0; opacity: 0; transition: all 1s ease-in-out; z-index: 3; }
.bannerleftimg li.active img { opacity: 1; }
.bannerleftimg li.active img.slidown_two { transform: rotate(90deg) translateX(calc(-100% - -150px)); }
.bannerleftimg img.slidown_three { transform: rotate(90deg) translateX(calc(-100% - -150px)); }
.bannerleftimg li.active img.slidown_three { transform: inherit; }
/* medium */
.bannermediumimg { width: 175px; height: 425px; overflow: hidden; position: relative; z-index: 3; }
.mediumslidebox { position: relative; width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center top;}
.mediumslidebox img { position: absolute; top: 4px; left: 0; width: 100%; height: 100%; opacity: 1; object-fit: contain; transition: all 1s ease-in-out; }
.mediumslidebox li.active img { opacity: 1; animation: slideRightToLeft 1s ease forwards; z-index: 2; }
/* right */
.bannerightimg { width: 33%; } 
.bannerightimg img { position: absolute; right: 0; top: 0; opacity: 0; transition: all 1s ease-in-out; z-index: 3; }
.bannerightimg li.active img { opacity: 1; }
.bannerightimg li.active img.slidup_two { transform: rotate(90deg) translateX(calc(100% - 120px)); }
.bannerightimg img.slidup_three { transform: rotate(90deg) translateX(calc(100% - 120px)); }
.bannerightimg li.active img.slidup_three { transform: inherit; }
/* dots */
.dotbanner { margin: 0; padding: 0; list-style: none; display: flex ; align-items: center; justify-content: center; position: absolute; bottom: 50px; left: 0; right: 0; z-index: 5; }
.dotbanner li { padding: 5px; }
.dotbanner li button { width: 14px; height: 14px; border-radius: 10px; padding: 0; font-size: 0; background: #000 !important; border: 0; opacity: 0.2; } { width: 14px; height: 14px; border-radius: 10px; padding: 0; font-size: 0; background: #000; border: 0; opacity: 0.2; }
.dotbanner li.active button { opacity: 0.7; width: 20px; height: 20px; }
/* arrows */
.sliderarrow button { width: 45%; height: 100%; position: absolute; top: 0; bottom: 0; z-index: 4; border: 0; border-radius: 0; outline: none; background: transparent !important; font-size: 0; padding: 0; opacity: 0; z-index: 3;}
.sliderarrow button.leftarrow { left: 0; }
.sliderarrow button.rightarrow { width: 45%; height: 100%; position: absolute; top: 0; bottom: 0; right: 0; }
/* color */
.mainbanner .items { width: 100%; height: 100%; background: radial-gradient(48% 108% at 50% 55%, #DDFFFE 0%, #37C7C1 100%); transition: all 1s ease; position: absolute; top: 0; left: 0; opacity: 1; }
.mainbanner .items.active { opacity: 1; z-index: 2; animation: slideRightToLeft 1s ease forwards; }
@keyframes slideRightToLeft { 
   0% { transform: translateX(100%); } 
   100% { transform: translateX(0); } 
}
/*  */
#page .influencerimgslider .swiper-wrapper { align-items: initial; }
#page .influencerimgslider .swiper-slide {height: auto;} 
#page .influencerimgslider .swiper-slide-inner, .influencerimgslider .swiper-slide-inner img { width: 100%; height: 100%; object-fit: contain; } 
#page .contactmapsection::before { width: 30%; left: auto; right: 0; }
/*  */
.ricettetablist { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: 0 0 30px; padding: 0; list-style: none; border-bottom: 4px solid #D9D9D9; }
.ricettetablist li a { font-size: 20px; font-weight: 400; color: #000000; padding: 5px 20px; display: block; position: relative; transition: all .4s; }
.ricettetablist li a:before { content: ''; width: 100%; height: 5px; background: #37C7C1; position: absolute; bottom: -4px; left: 0; right: 0; opacity: 0; transition: all .4s; }
.ricettetablist li.active a:before { opacity: 1; }
.ricettedatalist { display: flex; flex-wrap: wrap; margin: 0 -15px; padding: 0; list-style: none; }
.ricettedatalist .item { width: 33.33%; padding: 45px 45px; }
.ricetteimgcol { width: 100%; height: 500px; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; position: relative; background: #37C7C1; border-radius: 9px; box-shadow: 0px 0px 8px 0px rgba(255,255,255,0.5); margin: 0 0 50px; }
.ricetteimgcol .img-fluid { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; position: relative; transform: rotate(-10deg); box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.5); z-index: 2; transition: all .5s; }
.ricetteimghover { width: 100%; height: 100%; position: absolute; bottom: 0; left: 0; right: 0; transform: scale(0); transition: all .5s; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ricetteimghover ul { width: 100%; margin: 0; padding: 20px; list-style: none; text-align: center; display: flex; flex-direction: column; flex-wrap: wrap; }
.ricetteimghover ul li { color: #fff; font-size: 20px; padding: 10px 0;}
.ricetteimghover ul li strong { display: block; }
.ricetteimgcol:hover .img-fluid { width: 42px; height: 96px; border-radius: 40px; }
.ricetteimgcol:hover .ricetteimghover { transform: scale(1); }
.ricettedatacol { width: 100%; text-align: center; }
.ricettedatacol h4 { color: #000; font-size: 24px; font-weight: 400; text-align: center; margin: 0 0 15px; }
.btn.blackbgbtn { display: inline-block; background: #212121; font-size: 16px; font-weight: 600; color: #FFFFFF; border: 1px solid #212121; border-radius: 16px; padding: 10px 16px; transition: all .4s; }
.btn.blackbgbtn:hover { background-color: #5E5E5E; color: #FFFFFF; border-color: #5E5E5E; }
/*  */
.mainproductisec { width: 100%; overflow: hidden; } 
.productisec_row { position: relative; height: 100vh; padding:  70px 0 0; display: flex ; flex-direction: column; align-items: center; align-content: center; justify-content: center; overflow: hidden; } 
.procuctilayerbg { position: absolute; top: -50px; right: 0; } 
.mainproductisec .container { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 15px; } 
.custom_row { display: flex; flex-wrap: wrap; align-items: center; align-content: center; margin: 0 -15px; position: relative; z-index: 2; } 
.custom_row .col-5 { width: 500px; padding: 15px; } 
.producttimgcol { position: relative; width: 100%; max-width: 420px; height: 470px; overflow: hidden; display: flex ; align-items: flex-end; }
.producttimgcol img { width: 40%; height: 50%; object-fit: contain; transition: all 1s ease; object-position: center bottom; z-index: 1; position: absolute; left: 20%; right: 0%; margin-left: auto; }
.producttimgcol img.active { width: 80%; height: 100%; z-index: 2; right: 20%; left: 0%; }
/*.producttimgcol img { width: 30%; height: 100%; object-fit: contain; transition: all 1s ease; object-position: right bottom; z-index: 1; }
.producttimgcol img.active { width: 100%; z-index: 2; }*/
/*.producttimgcol img { width: 100%; height: 100%; object-fit: contain; transition: all 1s ease; position: absolute; bottom: 0; object-position: left; }
.producttimgcol .Carnarolimgone { left: 0; z-index: 2; }
.producttimgcol .Carnarolimgtwo { width: 35%; z-index: 1; height: auto; right: 0;}*/
.custom_row .col-7 { width: calc(100% - 500px); padding: 15px; }
.producttdatacol { width: 100%; max-width: 520px; }
.producttdatacol h2 { font-size: 48px; font-weight: 700; color: #000; margin: 0 0 13px; line-height: 1em; }
.producttdatacol h4 { font-size: 20px; font-weight: 700; color: #000; margin: 0 0 20px; }
.producttdatacol p { font-size: 16px; color: #000; margin: 0 0 20px; }
.producttdatacol p strong { font-weight: 700;}
.producttibtns { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.producttibtns .btn { display: inline-block; background: #212121; font-size: 16px; font-weight: 600; color: #FFFFFF; border: 1px solid #212121; border-radius: 16px; padding: 10px 16px; transition: all .4s; }
.producttibtns .btn:hover { background-color: #5E5E5E; color: #FFFFFF; border-color: #5E5E5E; }
.producttibtns .btn.active { background: #319F9B; border-color: #319F9B; }
.productisec_row:nth-child(2n) .procuctilayerbg { right: auto; top: -150px; left: 0; transform: rotate(90deg); } 
.productisec_row:nth-child(2n) .custom_row { flex-direction: row-reverse; }
.pin-spacer:nth-child(2n) .productisec_row .procuctilayerbg { right: auto; top: -150px; left: 0; transform: rotate(90deg); } 
.pin-spacer:nth-child(2n) .productisec_row .custom_row { flex-direction: row-reverse; }

/*  */
.singleproductsec { width: 100%; overflow: hidden; }
.container { width: 100%; max-width: 1170px; margin: 0 auto; padding: 0 15px; }
.singleproduct_row { width: 100%; padding: 150px 0 50px; } 
.risoproimgcol { position: relative; width: 100%; } 
.risoproimgcol .risoprobg { max-width: 100%; height: 100%; object-fit: cover; position: relative; transform: rotate(-5deg); margin-top: 50px;} 
.risoproimgbox { position: absolute; top: 45%; transform: translateY(-50%); left: 0; right: 0; margin: 0 auto; width: 100%; max-width: 420px; height: 470px; overflow: hidden; display: flex; align-items: flex-end; }
.risoproimgbox img { cursor: pointer; width: 50%; height: 55%; object-fit: contain; transition: all 1s ease; object-position: right bottom; z-index: 1; position: relative; margin: 0; }
.risoproimgbox img.active { width: 100%; height: 100%; z-index: 2; }
/*.risoproimgbox { position: absolute; width: 100%; max-width: 400px; height: 500px; overflow: hidden; display: flex; align-items: flex-end; top: 45%; transform: translateY(-50%); left: 0; right: 0; margin: 0 auto; }
.risoproimgbox img { width: 35%; height: 50%; transition: all 1s ease; cursor: pointer; object-position: center bottom; position: relative; z-index: 1; margin:0 -10px; transform:translateY(-20px); }
.risoproimgbox img.active { width: 100%; height: 100%; z-index: 2; transform: translateY(0px); }*/
.risoproimgbtn { margin: 25px 0 0; text-align: center; }
.risoproimgbtn .btn { display: inline-block; background: #E3E9F2; border: 1px solid #E3E9F2; font-size: 16px; color: #000; font-weight: 600; border-radius: 100px; padding: 10px 20px; cursor: pointer; transition: all .4s; }
.risoproimgbtn .btn.active { background: #D2F1F0; border-color: #D2F1F0; }
.risoprodatacol { width: 100%; max-width: 550px; }
.risoprodatacol h2 { font-size: 48px; font-weight: 700; color: #000; margin: 0 0 15px; }
.risoprodatacol p { font-size: 18px; color: #000; margin: 0 0 15px; }
.carnarolibtns { display: flex ; flex-wrap: wrap; gap: 10px; }
.btn.simpleblackboder { display: inline-block; background: transparent; font-size: 16px; font-weight: 600; color: #000; border: 1px solid #212121; border-radius: 16px; padding: 10px 16px; transition: all .4s; }
.custom_row .col-6 { width: 50%; padding: 15px; }
.sceglierlosec { width: 100%; background: #F6FFFF; padding: 60px 0; }
.blackheading { font-size: 48px; font-weight: 700; color: #000; margin: 0 0 15px; }
.custom_row .col-8 { width: 60%; padding: 15px; }
.productabcard { width: 100%; padding: 7px 0; border-bottom: 1px solid #D9D9D9; }
.productabcard .productabtitle { width: 100%; text-align: left; background: transparent; border: 0; color: #000; font-weight: 700; font-size: 20px; white-space: normal; line-height: 1.3em; padding: 15px 0; }
.productabpanel { display: none; }
.productdetails p { color: #000; font-size: 16px; margin: 0 0 13px; }
.custom_row .col-4 { width: 40%; padding: 15px; }
.sceglierloimgcol { padding: 0; list-style: none; display: flex; flex-wrap: wrap; margin: 0 -7px; }
.sceglierloimgcol li { width: 50%; padding: 7px; }
.sceglierloimgcol li:first-child { width: 100%; }
.sceglierloimgbox { overflow: hidden; width: 100%; border-radius: 8px; box-shadow: 0px 0px 8.19px 0px rgba(255,255,255,0.5); }
.sceglierloimgbox img { width: 100%; height: 200px; display: block; object-fit: cover; }
.singleprovideosec { width: 100%; padding: 70px 0; }
.videoboxcol video { width: 100%; height: 600px; object-fit: cover; border-radius: 15px; }
.recentproduct { width: 100%; background: #D2F1F0; padding: 70px 0; }
.recentproduct .container { max-width: 1320px; }
.recentheading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; align-content: center; margin: 0 0 20px; }
.recentheading h2 { font-size: 48px; font-weight: 700; color: #000; margin: 0; }
.productilist { padding: 0; list-style: none; display: flex ; flex-wrap: wrap; margin: 0 -30px; }
.productilist .item { width: 33.33%; padding: 30px; }
.cremosoai_sec { width: 100%; padding: 160px 0 50px; background: #fff; }
.cremosodatacol h2 { font-size: 48px; font-weight: 700; color: #000; margin: 0 0 15px; }
.cremosodatacol p { font-size: 18px; color: #000; margin: 0 0 15px; }
.cremosotags { display: flex ; flex-wrap: wrap; align-items: center; gap: 10px; }
.btn.cremosotagbtn { display: inline-block; background: #E3E9F2; border: 1px solid #E3E9F2; font-size: 16px; color: #000; font-weight: 600; border-radius: 100px; padding: 10px 20px; cursor: pointer; transition: all .4s; }
.ingredienti_sec { width: 100%; padding: 70px 0; background: #F3F6F6; }
.ingredienti_sec .container { max-width: 1320px; }
.ingreheading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0 0 40px; }
.ingreheading h2 { font-size: 48px; font-weight: 600; color: #000; margin: 0; }
.ingreqtybox { display: flex; align-items: center; gap: 20px; }
.ingreqtybox h4 { font-size: 16px; font-weight: 600; color: #000; margin: 0; }
.quantitybox { display: flex ; align-items: center; }
.quantitybox button { min-width: 40px; height: 40px; border-radius: 100px; background: #000 !important; border: 0; color: #fff; font-weight: 600; font-size: 20px; line-height: 1; display: flex; align-items: center; align-content: center; justify-content: center; cursor: pointer; padding: 0; }
.quantitybox input { border: 0; outline: none; background: transparent; min-width: 100px; text-align: center; padding: 8px 10px; font-size: 16px; font-weight: 500; color: #000; }
.quantitybox input[type=number]::-webkit-inner-spin-button, .quantitybox input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.ingredientilist { display: flex; flex-wrap: wrap; padding: 0; list-style: none; margin: 0 -10px; }
.ingredientilist .item { width: 20%; padding: 15px 10px; }
.ingredientibox { width: 100%; min-height: 200px; text-align: center; background: #fff; border-radius: 15px; padding: 20px 15px; display: flex; flex-wrap: wrap; flex-direction: column; align-items: center; align-content: center; justify-content: center; }
.ingredientibox h5 { font-size: 18px; color: #000; font-weight: 500; margin: 15px 0 3px; }
.ingredientibox span { display: block; font-size: 16px; color: #090909; }
.utilizzato_sec { width: 100%; padding: 70px 0 30px; background: #fff; }
.procedimento_sec { width: 100%; padding: 50px 0; background: #fff; }
.procedimento_sec .custom_row { flex-direction: row-reverse; align-items: inherit; align-content: inherit; }
.blakheading { color: #000; font-size: 48px; font-weight: 700; margin: 0; }
.procedtabnav { margin: 0; padding: 0; list-style: none; }
.procedtabnav li:not(:last-child) { border-bottom: 2px solid #D9D9D9; width: 100%; padding: 7px 0; }
.procedtabnav li { padding: 10px 0 0; }
.procedtabnav li a { display: block; padding: 8px; color: #000; font-size: 16px; border-radius: 15px; line-height: 22px; }
.procedtabnav li a strong { display: block; color: #37C7C1; font-size: 18px; }
.procedtabnav li.active a { background: #D2F1F0; }
.riceteproduct_sec { width: 100%; background: #D2F1F0; padding: 70px 0 0; }
.riceteproduct_sec .container { max-width: 1320px; }
/**/
.productabpanel.active { display: block; }
.productabtitle.active::after { transform: translateY(-50%) rotate(-135deg); }
.productabtitle::after { content: ""; position: absolute; right: 0; top: 50%; width: 7px; height: 7px; border-right: 2px solid #000; border-bottom: 2px solid #000; transform: translateY(-50%) rotate(45deg); transition: transform 0.25s ease; }
.productabtitle { position: relative; padding-right: 18px; /* small space for arrow */ display: inline-flex; align-items: center; gap: 6px; /* space between text and arrow */ } /* Arrow right after the text */ .productabtitle::after { content: ""; width: 7px; height: 7px; border-right: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(45deg); transition: transform 0.3s ease; display: inline-block; } /* Rotate arrow on active */ .productabtitle.active::after { transform: rotate(-135deg); }

.procedtabnav li { padding: 10px 0 0; pointer-events: none !important; }
#page .customlinkslider .elementor-main-swiper { padding-bottom: 43px; }
#page .customlinkslider .swiper-pagination { position: relative; bottom: 0; margin: 20px 0 0; }



/*Responsive Media Query*/
@media (max-width: 1360px){
.procuctilayerbg img { max-width: 300px; }
.producttimgcol { max-width: 350px; height: 400px; }
   
   
}


@media (max-width: 1199px){
.bannerleftimg img, .bannerightimg img { max-width: 300px; }
.bannerleftimg img.slidown_three { transform: rotate(90deg) translateX(calc(-100% - -30px)); }
.bannerleftimg li.active img.slidown_two { transform: rotate(90deg) translateX(calc(-100% - 100px)); }
.bannerightimg img.slidup_three { transform: rotate(90deg) translateX(calc(100% - -10px)); }
.bannerightimg li.active img.slidup_two { transform: rotate(90deg) translateX(calc(100% - -90px)); }
.ricettedatalist .item { padding: 30px 30px; }
.ricetteimgcol { height: 350px; }
.ricetteimghover ul li { padding: 5px; font-size: 16px; }
.ricettedatacol h4 { font-size: 20px; }
.mainproductisec .container { max-width: 900px; }
.custom_row .col-5 { width: 400px; }
.custom_row .col-7 { width: calc(100% - 400px); }
.risoproimgbox { max-width: 350px; height: 400px; }


}


@media (max-width: 1024px){
.bannerslide { padding: 120px 0 100px; }
.bannermediumimg { width: 135px; height: 325px; }
.bannerleftimg img, .bannerightimg img { max-width: 250px; }
.bannerleftimg li.active img.slidown_two { transform: rotate(90deg) translateX(calc(-100% - 0px)); }
.bannerightimg li.active img.slidup_two { transform: rotate(90deg) translateX(calc(100% - -20px)); }
.productdata h4 { font-size: 18px; }
.ricettetablist li a { font-size: 18px; }
.ricettedatalist .item { width: 50%; }  
.risoprodatacol h2, .blackheading, .recentheading h2, .cremosodatacol h2, .ingreheading h2, .recentheading h2 { font-size: 36px; }
.risoprodatacol p, .cremosodatacol p { font-size: 16px; }
.risoproimgbox { max-width: 265px; height: 300px; }
.sceglierlosec .custom_row { align-items: flex-start; align-content: flex-start; }
.custom_row { align-items: inherit; align-content: inherit; }
.btn.cremosotagbtn { font-size: 14px; }
.ingredientilist .item { width: 33.33%; }
.blakheading { font-size: 36px; margin: 0 0 10px; }


}


@media (max-width: 991px){
.procuctilayerbg img { max-width: 250px; }
.custom_row .col-5 { width: 300px; }
.producttimgcol { max-width: 250px; height: 300px; }
.custom_row .col-7 { width: calc(100% - 300px); }
.producttdatacol { max-width: 100%; }  
.producttdatacol h2 { font-size: 36px; }
.risoproimgbtn .btn { font-size: 13px; padding: 8px 12px; margin: 3px; }
.videoboxcol video { height: 400px; }


}


@media (max-width: 767px){
#page .mobilenav .hfe-flyout-overlay { width: 100%; height: 100vh; }
#page .mobilenav .hfe-side { margin: 0; height: 100vh; }
#page .mobilenav ul.hfe-nav-menu > .menu-item > .hfe-menu-item:hover, #page .mobilenav ul.hfe-nav-menu > .menu-item.current-menu-item > .hfe-menu-item { background: #4d4d4d; color: #fff; } 
#page .mobilenav .hfe-nav-menu-icon svg { box-shadow: none; outline: none; }
.bannerleftimg img, .bannerightimg img { max-width: 180px; }	
.bannerleftimg img.slidown_three { transform: rotate(90deg) translateX(calc(-100% - 50px)); }
.bannerleftimg li.active img.slidown_two { transform: rotate(90deg) translateX(calc(-100% - 70px)); }
.bannerightimg img.slidup_three { transform: rotate(90deg) translateX(calc(100% - -85px)); }
.bannerightimg li.active img.slidup_two { transform: rotate(90deg) translateX(calc(100% - -85px)); }
.bannermediumimg { width: 100px; height: 245px; }
/* .mediumslidebox img { top: 12px; } */
#page .blackboderbtn { font-size: 15px; } 
#page .contactext h4 { font-size: 18px; }
.footerlink .elementor-icon-list-items .elementor-icon-list-text { text-align: center; }  
.ricettetablist { border-bottom: 3px solid #D9D9D9; margin: 0 0 15px; }
.ricettetablist li a { font-size: 15px; padding: 5px 5px; }
.ricettetablist li a:before { height: 4px; bottom: -3px; }
.ricettedatalist .item { width: 100%; }
.ricetteimgcol { height: 60vh; min-height: 350px; margin: 0 0 30px; }
.productisec_row:first-child { padding: 120px 0 40px; }	
.productisec_row { height: auto; padding: 80px 0 40px; } 
.custom_row { flex-direction: column-reverse !important; }
.custom_row .col-5 { width: 100%; } 
.productisec_row:nth-child(2n) .procuctilayerbg { top: -80px; }
.procuctilayerbg img { max-width: 170px; }
.producttimgcol { max-width: 200px; height: 250px; margin: 0 auto; }
.custom_row .col-7 { width: 100%; }
.producttdatacol h2 { font-size: 26px; margin: 0 0 10px; }
.producttdatacol h4 { font-size: 18px; margin: 0 0 10px; }  
.producttibtns .btn { font-size: 13px; padding: 8px 16px; }
.singleproduct_row { padding: 120px 0 40px; } 
.risoprodatacol h2 { font-size: 26px; }
.btn.simpleblackboder, .carnarolibtns .btn.blackbgbtn { width: 100%; text-align: center; }
.risoproimgcol .risoprobg { width: 100%; margin: 0 auto; display: block; max-width: 350px; } 
.risoproimgbox { right: 0; margin: 0 auto; }
.sceglierlosec { padding: 25px 0; }
.custom_row .col-8, .custom_row .col-4 { width: 100%; }
.blackheading { font-size: 26px; margin: 0; }
.productabcard .productabtitle { font-size: 16px; padding: 10px 0; } 
.singleprovideosec { padding: 40px 0; }
.videoboxcol video { height: 300px; }
.recentproduct { padding: 35px 0 0; }
.recentheading { display: block; text-align: center; margin: 0; }
.recentheading h2 { font-size: 26px; margin: 0 0 13px; }
.productilist .item { width: 100%; padding: 15px 25px; }
.cremosoai_sec { width: 100%; padding: 120px 0 35px; }
.custom_row .col-6 { width: 100%; }
.cremosodatacol h2 { font-size: 26px; }
.btn.cremosotagbtn { width: 100%; text-align: center; }
.ingredienti_sec { padding: 40px 0; }
.ingreheading { display: block; text-align: center; }
.ingreheading h2 { font-size: 26px; margin: 0 0 15px; }
.ingreqtybox { margin: 0 auto; display: block; padding: 0 0 15px; }
.quantitybox { justify-content: center; max-width: 100px; margin: 10px auto 0; }
.ingredientilist .item { width: 50%; }
.ingredientibox { min-height: 170px; padding: 10px 10px; }
.ingredientibox h5 { font-size: 16px; }
.ingredientibox span { font-size: 14px; }
.utilizzato_sec { padding: 30px 0 20px; }
.procedimento_sec { width: 100%; padding: 20px 0; }
.recentheading { display: block; text-align: center; }
.recentheading h2 { font-size: 26px; margin: 0 0 13px; }
.procedimento_sec .custom_row { flex-direction: row-reverse !important; }
.blakheading { font-size: 26px; }
.procedtabnav li a { font-size: 14px; }
.riceteproduct_sec { padding: 40px 0 0; }
.risoprodatacol { width: 100%; max-width: 100%; }


}

@media (max-width: 480px){
.bannerslide { padding: 120px 0 70px;}
.bannerleftimg img, .bannerightimg img { max-width: 120px; }
.bannerightimg li img.slidup_one, .bannerightimg li img.slidup_three { top: 75px; }
.bannerleftimg li.active img.slidown_two { transform: rotate(90deg) translateX(calc(-100% - 40px)); }
.bannerleftimg img.slidown_three { transform: rotate(90deg) translateX(calc(-100% - 120px)); }
.bannerightimg img.slidup_three { transform: rotate(90deg) translateX(calc(100% - -160px)); }
.bannerightimg li.active img.slidup_two { transform: rotate(90deg) translateX(calc(100% - -140px)); }
.bannermediumimg { width: 80px; height: 195px; }
.mediumslidebox img { top: 2px; }
.dotbanner { bottom: 25px; }
.dotbanner li { padding: 3px; }
.dotbanner li button { width: 12px; height: 12px; }
.dotbanner li.active button { width: 16px; height: 16px; }
.sceglierloimgbox img { height: 150px; }


}



/* Container principale dell'hover */
.ricetteimghover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(38, 189, 182, 0.9); /* Il colore tiffany */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 15px;
    box-sizing: border-box;
}

.ricetteboxcol:hover .ricetteimghover {
    opacity: 1;
}

/* Wrapper per lo scroll degli ingredienti */
.ingredients-scroll {
    max-height: 100%;
    width: 100%;
    overflow-y: auto; /* Attiva lo scroll verticale se necessario */
    padding-right: 5px; /* Spazio per la scrollbar */
}

/* Personalizzazione Scrollbar (Sottile) */
.ingredients-scroll::-webkit-scrollbar {
    width: 4px;
}
.ingredients-scroll::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
}
.ingredients-scroll::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 10px;
}

/* Lista ingredienti */
.ricetteimghover ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.ricetteimghover li {
    margin-bottom: 15px; /* Spazio tra gli ingredienti */
    color: #fff;
}

.ricetteimghover li .ing-icon {
    display: block;
    margin: 0 auto 5px;
    width: 25px; /* Dimensione icone */
    height: auto;
}

.ricetteimghover li strong {
    display: block;
    font-size: 16px;
    text-transform: uppercase;
}

.ricetteimghover li span {
    display: block;
    font-size: 14px;
    opacity: 0.9;
}