@charset "utf-8";
:root{
    --radius: 30px;
}
.only_mobile{
	display: none !important;
}

/********* GENERIC RULES *********/
h1, h2{
    font-size: 2.9rem;
}
h2.s{
    font-size: 1.2rem;
}
h2{
	margin: 20px 0;
}
.btn{
	padding: 15px 20px;
}
.qty_addcart_wrap > div:first-of-type{
    flex: 0 0 auto;
}
.qty_addcart_wrap > div:last-of-type{
    flex: 1 1 auto;
    min-width: 300px;
}
.wrap_btns{
    display: flex; 
    gap: 20px;
}
.space{
    clear: both;
    height: 100px;
}
.space_m{
    clear: both;
    height: 50px;
}
.line_shape{
    margin: 30px 0;
}
/********* END GENERIC RULES *********/

/********* HEADER ********/
header .header_grid{
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	max-width: var(--w_limited);
	padding: 10px 0;
    gap: 30px;
}
header .langs{
	margin-left: 40px;
}
header .langs span{
    display: block;
}
header .menu li{
	margin-right: 20px;
	float: left;
}
@media screen and (min-width: 1321px) and (max-width: 1480px){
    header .menu li{
        margin-right: 10px;
    }
}
@media screen and (max-width: 1320px){
    header .menu li{
        line-height: 2;   
    }
}
#clear_header{
	height: 128px;
}
/********* END HEADER ********/

/********* HERO **********/
.hero{
    height: calc(100svh - 128px);
}
.hero h1{
    font-size: 4.1rem;
}
.hero .info{
    margin-top: auto;
    margin-bottom: 60px;
    gap: 20px;
}
/********* END HERO **********/

/********* TEXT_IMG *********/
.txt_img{
    grid-template-columns: 1fr 1fr;
    gap: 100px;
}
.txt_img .txt{
    padding-left: 5vw;   
}
.txt_img.reverse > div:nth-child(1){
    order: 2;
}
.txt_img.reverse > div:nth-child(2){
    order: 1;
}
.txt_img.reverse .txt{
    padding-left: unset;   
    padding-right: 5vw;   
}
.txt_img.no_gap .txt{
    padding-right: 100px;
}
/********* END TEXT_IMG *********/

/********* PREVIEW PRODUCTS ***********/
.preview_products{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}
@media screen and (max-width: 1400px){
    .preview_products{
        gap: 20px;
    }
}
@media screen and (max-width: 1270px){
    .preview_products{
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

/********* END PREVIEW PRODUCTS ***********/

/********* PREVIEW PRODUCT CARD ***********/
.gap_custom_1{
    gap: 40px;
}
.preview_product_card{
    padding: 20px;
    display: flex;
    flex-direction: column;
}
.preview_product_card .title{
	margin: 15px 0;
	min-height: 52px;
}
/********* END PREVIEW PRODUCT CARD ***********/

/********* GRID_VANTAGGI ***********/
.grid_vantaggi{
    grid-template-columns: 1fr 80px 1fr 80px 1fr 80px 1fr;
}
@media screen and (max-width: 1300px){
    .grid_vantaggi{
        grid-template-columns: 1fr 80px 1fr;
        row-gap: 50px;
    }
}
.grid_vantaggi .line{
    width: 1px;
    height: 100%;
}
.grid_vantaggi h3{
    font-size: 1.5rem;
}
/********* END GRID_VANTAGGI ***********/

/********* GRID CHI SIAMO *********/
.grid_chi_siamo{
    grid-template-columns: 1fr 180px 1fr 180px 1fr;
}
@media screen and (max-width: 1100px){
    .grid_chi_siamo{
        grid-template-columns: 1fr 80px 1fr 80px 1fr;
    }
}
.grid_chi_siamo .line{
    width: 2px;
    height: 100%;
    margin: auto;
}
/********* END GRID CHI SIAMO *********/
/********* GRID CARDS *********/
.grid_cards{
    grid-template-columns: 1fr 80px 1fr 80px 1fr 80px 1fr;
}
@media screen and (max-width: 1300px){
    .grid_cards{
        grid-template-columns: 1fr 80px 1fr;
        row-gap: 50px;
    }
}
.grid_cards.cols3{
    grid-template-columns: 1fr 80px 1fr 80px 1fr;
    row-gap: 100px;
}
@media screen and (max-width: 1100px){
    .grid_cards.cols3.small_desktop_custom_gap{
        grid-template-columns: 1fr 20px 1fr 20px 1fr;
    }
}
.grid_cards .line{
    width: 2px;
    height: 100%;
    margin: auto;
}
.grid_cards figure{
    aspect-ratio: 16 / 9;
}
/********* END GRID CARDS *********/
/********* GRID IMG_TXT_BTNS *********/
.grid_txt_img_btns{
    grid-template-columns: .5fr 1fr .5fr;
}
.grid_txt_img_btns .shaded{
    position: relative;
    overflow: hidden;
}
.grid_txt_img_btns .shaded::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 60px;          /* larghezza sfumatura */
    height: 100%;
    pointer-events: none;
    z-index: 2;

    background: linear-gradient(
        to right,
        #f3ede5 0%,
        transparent 100%
    );
}
.grid_txt_img_btns .shaded::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;          /* larghezza sfumatura */
    height: 100%;
    pointer-events: none;
    z-index: 2;

    background: linear-gradient(
        to left,
        #f3ede5 0%,
        transparent 100%
    );
}
/********* END GRID IMG_TXT_BTNS *********/
/********* GRID AGRITURISMO *********/
.grid_agriturismo{
    grid-template-columns: 1fr 1fr;
}
.grid_agriturismo .info{
    padding-left: 5vw; 
    padding-right: 100px; 
}
/********* END GRID AGRITURISMO *********/
/********* GRID CONTATTI *********/
.grid_contatti{
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.grid_contatti > div:first-of-type{
    padding-right: 100px;
}
/********* END GRID CONTATTI *********/
/********* PRODUCT CARD *************/
.product_card{
    display: grid;
    grid-template-columns: minmax(0, .4fr) minmax(0, .6fr);
    column-gap: 100px;
    margin-top: 20px;
    width: 100%;
}
.product_card > *{
    min-width: 0;
}
.product_card .info{
    margin-left: 0;
    min-width: 0;
}
@media screen and (max-width: 1150px){
    .product_card{
        grid-template-columns: minmax(0, .45fr) minmax(0, .55fr);
        column-gap: 40px;
    }
    .product_card .info{
        margin-left: 0;
    }
}
.product_card .format{
    grid-template-columns: 200px 1fr 200px;
    grid-template-columns: 1fr 150px 1fr;
    gap: 20px;
}
.qty_addcart_wrap > div:first-of-type{
    flex: 0 0 auto;
}
.qty_addcart_wrap > div:last-of-type{
    flex: 1 1 auto;
    min-width: 300px;
}
.wrap_btns{
    display: flex; 
    gap: 20px;
}
.product_card .thumbs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
/********* END PRODUCT CARD *************/


/********* CATEGORIES MENU *********/
.wrap_cat_menu{
    padding: 20px 0;
}
.mobile_hambuger_info{
    display: none;
}
.cat_menu{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
@media screen and (max-width: 1500px){
    .cat_menu{
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 40px;
        row-gap: 5px;
    }
}
/********* END CATEGORIES MENU *********/

/********* FIRST IMG ***********/
.first_img.h_limited{
	padding-bottom: calc(300 / 1903 * 100%);
}
/********* END FIRST IMG ***********/

/********* FOOTER **********/
footer .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}
/********* END FOOTER **********/
/********* FORM **********/
form label{
	margin-bottom: 25px;
}
/********* END FORM ********/


.wrap_ico_branch{
    width: 100px;
}
.banner_iva{
    padding: 20px;
}
.grid.ico_txt_ico{
    grid-template-columns: .2fr 1fr .2fr;
    gap: 50px;
}
p.custom{
    font-size: 2rem;
}
#map{
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 1300px){
    .hide_on_small_desktop{
        display: none !important;
    }
}
#popup .wrap_info{
    padding: 60px;
}
