/*--------------------------------------------------------------

Version: 1.0


>>> TABLE OF CONTENTS:
----------------------------------------------------------------

	0. 	CSS Reset
	1. 	Document Setup
    2. 	Header
    3. 	Main Menu
	4. 	Slide Show
	5. 	Sections
	6. 	Fascia 3-Cols Gray
    7.  WooCommerce
	8. 	Footer

--------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- 
   FLEX DEFINITIVE GUIDE:   
   https://css-tricks.com/snippets/css/a-guide-to-flexbox/

   PALETTE
   grigio chiaro: #dbdcd9, 
   grigio scuro:  #474747, 
   rosso:         #eb2131, 
   arancio:       #eb9131,
   blu:           #1b5278,
   blu chiaro:    #2c668f
   -------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------- */
/*	0. CSS Reset
/* -------------------------------------------------------------------------- */
	
*, *::before, *::after { 
    margin: 0; padding: 0; box-sizing: border-box;
      /* border: 1px dotted orange; */
}

/* RISOLUZIONE PROBLEMI DI COMPATIBILITA' NUOVO MOTORE WP E CORREZIONE DI BUG DEI PLUGIN */
.vi-wpvs-variation-wrap .vi-wpvs-option-wrap .vi-wpvs-option-tooltip-top { left: -50% !important; }
.wp-block-image img { max-width: 100%; height: auto !important; }
.woocommerce-input-wrapper .description { line-height: 2em !important; } 


/* 2024-02-23 */
.wc-block-grid.wp-block-handpicked-products { background-color: #efefff; padding-top: 20px; }
.wc-block-grid__products { list-style: none; margin: 0; padding: 0; }
.wc-block-grid__product { width: 25%; float: left; box-sizing: border-box; padding: 0 10px; }
.wc-block-grid__product button { /* Aggiungi qui i tuoi stili personalizzati per i pulsanti */ }
.wc-block-grid:after { content: ""; display: table; clear: both; }

  /* -------------------------------------------------------------------------- */
  /*	1. Document Setup
  /* -------------------------------------------------------------------------- */
  
  body {
      position: relative; color: #474747; font-family: 'Roboto', Arial, sans-serif;
  }
    
  h1, h2, h3 { text-transform: uppercase; font-weight: 400; }
  h1 { font-size: 40px; }
  h2 { font-size: 32px; }
  h3 { font-size: 20px; }
  a { text-decoration: none; color: #eb2131; } 
  a:hover { color: #dbdcd9; }
  p { font-size: 16px; }
  @media (max-width: 768px) { 
    h1 { font-size: 24px; }
    h2 { font-size: 22px; }
    h3 { font-size: 18px; }
  }
.fullscreen  { width: 100% !important; }

  /* -------------------------------------------------------------------------- */
  /*	2. 	Header
  /* -------------------------------------------------------------------------- */
  header.logo {
    margin-top: 2px; z-index: 1;
    border-top: 3px solid #eb2131;
    padding: 8px 20px; width: 100%; height: fit-content;
  }

  header.cover { display: flex; flex-direction: row; align-items: center; width: 100%; height: 300px; overflow: hidden; }
  header.cover img { min-width: 100%; min-height: 100%; width: auto; height: auto; }
  @media (max-width: 768px) { header.cover { height: 150px; } }
    
  /* -------------------------------------------------------------------------- */
  /*	3. 	Main Menu
  /* -------------------------------------------------------------------------- */
  nav#main-menu {
      position: absolute; top: 35px; right: 20px; z-index: 2;
      margin-left: 230px; 
      font-size: 18px; color: #474747;
      width: fit-content; height: fit-content;
  }
  nav#main-menu img {	float: right; width: 40px; height: 40px; display: none; }
  nav#main-menu ul { display: block; list-style: none; clear: right; }
  nav#main-menu ul li {	display: inline-block; text-transform: uppercase; padding: 5px 10px; }
  nav#main-menu ul li a { color: #474747; }
  nav#main-menu ul li a:hover { color: #eb2131; }
  nav#main-menu ul li .active, nav#main-menu ul li.current-menu-item  { color: #eb2131; text-decoration: none; border-bottom: 3px solid #eb2131; }
  nav#main-menu ul li.current-menu-item a { color: inherit; }
  @media (max-width: 768px) {
    nav#main-menu { right: 40px; }
    nav#main-menu img { display: block; }
    nav#main-menu ul { display: none; background: rgba(255,255,255,0.9); }
    nav#main-menu ul li { display: block; padding: 0; margin: 0; }
    nav#main-menu ul li a, nav#main-menu ul li .active { display: block; padding: 20px 50px; }
    nav#main-menu ul li .active, nav#main-menu ul li.current-menu-item  { color: #fff; border: none; background: rgba(235, 33, 49, 0.75); font-weight: 700; }
  }

  /* -------------------------------------------------------------------------- */
  /*	3.1 	Sub-menu 
  /* -------------------------------------------------------------------------- */
  .menu-item-has-children { display: inherit; }
  .sub-menu { display: none; }
  @media (max-width: 768px) {
	  .menu-item-has-children { display: none !important; }
  }

    
  /* -------------------------------------------------------------------------- */
  /*	4. 	Slide Show
  /* -------------------------------------------------------------------------- */
  #slideshow {
      position: relative; z-index: 1; background: #dbdcd9; padding: 1px 0; 
      width: 100%; height: 500px; overflow: hidden;
  }
  .slide {
      display: flex; flex-direction: row-reverse; justify-content: right; align-items: center;
      position: absolute; top:1px; left: 0; width: 100%; height: 498px;
      background-size: cover; background-position-y: center; overflow: hidden;
  }
  .slide-bg {
    display: flex; flex-direction: row-reverse; justify-content: right; align-items: center;
    background: url('../images/slider-bg.png') no-repeat right center;
	width:650px; height: 498px;
    background-size: cover; 
	overflow: hidden;
  }
  #slide1 { background-image: url('../images/slider-1.jpg'); z-index: 7; }
  #slide2 { background-image: url('../images/slider-2.jpg'); z-index: 6; }
  #slide3 { background-image: url('../images/slider-3.jpg'); z-index: 5; }
  .slide h1 { width: 450px; margin-right: 10px; font-weight: 400 !important; }
  .slide h1 a { color: #474747; }
  .slide h1 a:hover { color: #dbdcd9; }
  #slider-control {
    position: absolute; bottom: 50px; left: 0px; z-index: 9;
    display: flex; flex-direction: row; justify-content: center; align-items: center;
    width: 100%; height: 40px; 
  }
  #slider-control div {
    border: 3px solid #fff; width: 15px; height: 15px; margin: 0 10px; border-radius: 7px;
      -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
  }
  #slider-control div.active {
    border: none; background: rgba(255,255,255,0.5); 
    width: 15px; height: 15px; margin: 0 10px; border-radius: 7px;
  }
  @media (max-width: 768px) {
      #slideshow { height: 250px; } 
      .slide { height: 248px; }
      .slide-bg { width:350px; height: 248px; }
      .slide h1 { font-size: 24px; width: 60%; margin: 0 10% 0 30%; }
      #slider-control { bottom: 20px; }
  }
      
  /* -------------------------------------------------------------------------- */
  /*	5. 	Sections
  /* -------------------------------------------------------------------------- */
  
  section, 
  div.wp-block-group {
      width: 100%; padding: 20px 20px 10px; max-width: 920px; margin-left: auto; margin-right: auto;
  }
  h1, h2, h3, 
  div.wp-block-group h1, div.wp-block-group h2, div.wp-block-group h3 {
      color: #1b5278; font-weight: 700; margin-bottom: 10px;
  }
  section h1, section h2, section h3
  div.wp-block-group h1, div.wp-block-group h2, div.wp-block-group h3 { margin-top: 0.85em; }
  section p, div.wp-block-group p { margin-top: 0.85em; margin-bottom: 1em; }
  figcaption { font-style: italic; font-size: 13px; }
  .img-border-gray img { border: 1px solid #dbdcd9; }
  @media (max-width: 768px) {
    section figure { width: 100%; margin: 0; padding: 0; text-align: center; }
    section img { margin: 0; padding: 0; max-width: 100%; }
  }
  section ul {
    margin: 10px 20px;
  }

    
  /* -------------------------------------------------------------------------- */
  /*	6. 	Fascia 3-Cols Gray
  /* -------------------------------------------------------------------------- */
  .fascia-3-cols-gray {
    background: #dbdcd9; color:  #474747; padding: 20px 0 10px;
    display: flex; flex-wrap: wrap !important; flex-direction: row; 
    justify-content: space-between; align-items: flex-start;
  }
  .fascia-3-cols-gray div,
  .fascia-3-cols-gray div.wp-block-columns
  { flex-basis: 30% !important; padding: 0 20px; }
  .fascia-3-cols-gray p { margin-bottom: 8px; }
  .fascia-3-cols-gray a { color: #eb2131; }
  .fascia-3-cols-gray a:hover { color: #eb9131; }
  @media (max-width: 768px) {
    .fascia-3-cols-gray { padding-bottom: 0; }
    .fascia-3-cols-gray div,
    .fascia-3-cols-gray div.wp-block-columns { 
     flex-basis: 100% !important; border-bottom: 2px solid #eee; padding: 20px;
    }
  }
    
  /* -------------------------------------------------------------------------- */
  /*	7. 	WooCommerce
  /* -------------------------------------------------------------------------- */

.woocommerce { 
  width: 100%; padding: 20px 10%; 
  background: rgb(230,229,246);
  background: linear-gradient(110deg, rgba(255,255,255,0.1) 0%, rgba(230,229,246,1) 8%, rgba(255,255,255,1) 35%, rgba(221,249,254,1) 92%, rgba(255,255,255,0.1) 100%);
}
.no-bg .woocommerce { background: transparent; } 

.wc-block-product-categories select { padding: 20px; border: 2px solid #1b5278; background: #7896ab; border-radius: 10px; font-family: 'Roboto', Arial, sans-serif; font-size: 18px; color: #fff; }
.wc-block-product-categories button { padding: 20px; border: 2px solid #1b5278; background: #2c668f; border-radius: 10px; font-family: 'Roboto', Arial, sans-serif; font-size: 22px; color: #fff; }
.wc-block-product-categories button:hover { background: #7896ab !important; }

.woocommerce-result-count { font-size: 24px; color: #1b5278; font-weight: 700; margin-bottom: 10px; padding: 5px 0; }
.woocommerce-ordering select { font-size: 18px; padding: 5px 10px; }
.cart input[type=number] { font-size: 24px; padding: 2px; color: #2c668f; background: #ffffff; border-radius: 4px; border: 2px inset #2c668f; }
.woocommerce button, button.single_add_to_cart_button, .woocommerce .checkout-button { color: #ffffff !important; background: #2c668f !important; }
.woocommerce input[type=text],
.woocommerce input[type=password],
.woocommerce input[type=tel],
.woocommerce input[type=email],
.woocommerce textarea { font-size: 18px; padding: 5px 15px; color: #2c668f; background: #ffffff; border-radius: 4px; border: 2px inset #2c668f; }
.woocommerce select { font-size: 18px; padding: 5px 15px; color: #2c668f; background: #ffffff; border-radius: 4px; border: 2px inset #2c668f; }
.woocommerce textarea { min-height: 150px; }

.woocommerce nav ul { display: block; list-style: none; clear: right; }
.woocommerce nav ul li { display: inline-block; text-transform: uppercase; background: #4f98b3; border-radius: 8px; margin: 5px 8px !important; min-width: 50px; min-height: 30px; }
.woocommerce nav ul li a { color: #ffffff; }
.woocommerce nav ul li .current { font-weight: 800 !important; width: 100%; height: 100%; }

.woocommerce nav ul li a:hover { color: #eb2131; }
.woocommerce nav ul li .active, .woocommerce nav li.current-menu-item  { color: #eb2131; text-decoration: none; border-bottom: 3px solid #eb2131; }
.woocommerce nav ul li.current-menu-item a { color: inherit; }

.prod_detail table td { padding: 5px 10px; }

.wc-block-grid__product-price button { font-size:100%;margin:0;line-height:1;cursor:pointer;position:relative;text-decoration:none;overflow:visible;padding:.618em 1em;font-weight:700;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;display:inline-block;background-image:none;box-shadow:none;text-shadow:none; }
.wc-block-grid__product-price ins { font-size:110%; text-decoration: none; font-weight: 700; }
.wc-block-grid__product-price .amount { font-size:135%; }
.wc-block-grid__product-image img { max-width: 100%; height: auto; }

.woocommerce .onsale { display: none; /* border-radius: 0 !important; border-bottom-left-radius: 15px !important;  top: 0; right: 0; background: #1b5278 !important; color: #ffffff !important; font-size: 11px !important; margin: 0 !important; padding: 5px !important; min-height: 32px !important; height: 32px !important; line-height: 24px !important; */ }

@media (max-width: 768px) { 
  .woocommerce-result-count { font-size: 20px; }
  .woocommerce-ordering select { font-size: 16px; }
}

  /* -------------------------------------------------------------------------- */
  /*	8. 	Footer
  /* -------------------------------------------------------------------------- */
  footer { margin-top: 50px; background: #dbdcd9; padding: 20px; text-align: center; }
  footer p { font-size: 14px; line-height: 1.3em; }
footer p a { color: #999; }
  