/*
Theme Name: Cryopush
Theme URI: https://www.neting.it
Author: Jeffrey van Rossum
Author URI: https://tailpress.io
Description: TailPress Theme for Cryopush Medirent
Version: 1.0.0
License: MIT
License URI: https://github.com/tailpress/tailpress/blob/master/LICENSE
Text Domain: cryopush
*/


@font-face {
  font-family: "Montserrat";
  src: url("fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;            /* range pesi */
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: "Montserrat";
  src: url("fonts/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
h1.custom {
  font-size: 36px;
  font-weight: 700;
  margin: 25px 0 10px 0;
}
h2.custom,
.cmplz-document h2 {
  font-size: 29px;
  font-weight: 700;
  margin: 25px 0 10px 0;
}
h3.custom,
.cmplz-document h3 {
  font-size: 21px;
  font-weight: 600;
  margin: 25px 0 10px 0;
}
p.cmplz-subtitle {
  font-weight: bold;
}
p {
  margin: 0 0 15px 0;
}
a{
  text-decoration:none!important;
}
.text-base {
  font-size:1.08rem;
}
.two-cols-text-image ul{
  list-style:disc;
  margin:10px 0 10px 25px;
}
.two-cols-text-image ul li{
  list-style:disc;
  padding:2px 0 2px 5px;
}
/* Stack font consigliato */
:root {
  --font-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* Applica globalmente */
body { font-family: var(--font-sans); }

header.fixed{
  z-index:9999;
  border-radius:24px;
  background: #ffffff00;
	transition: background-color 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;

}
header.fixed.is-scrolled{
background: #fffffff0;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
/*** SPAZIATURE COMUNI ***/
.half-top-padding{padding-top:75px;}
.full-top-padding{padding-top:150px;}
.half-btm-padding{padding-bottom:75px;}
.full-btm-padding{padding-bottom:150px;}
.half-top-margin{margin-top:75px;}
.full-top-margin{margin-top:150px;}
.half-btm-margin{margin-bottom:75px;}
.full-btm-margin{margin-bottom:150px;}



/** MAIN CTA **/
.main-cta {
  background: #EF7124;
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 30px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  transform:scale(1);
}
.main-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transition: all 0.6s ease;

}
.main-cta:hover{
  transform:scale(1.08);
  transition:all 0.3s ease;
}
.main-cta:hover::before {
  left: 100%;
}
.second-cta {
  background: #116E9E;
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 30px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  transform:scale(1);
}
.second-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transition: all 0.6s ease;

}
.second-cta:hover{
  transform:scale(1.08);
  transition:all 0.3s ease;
}
.second-cta:hover::before {
  left: 100%;
}
span.orange{
  color:#EF7124;
}
/** MOBILE MENU HUB **/
/* Below sm: full pill with icons + X */
.mobile-menu-hub {
  position: absolute;
  top: 12px;
  left: 16px;
  right: 16px;
  background: #116E9E;
  display: flex;
  align-items: center;
  padding: 12px 20px;
  gap: 12px;
  border-radius: 35px;
}
.mobile-menu-hub svg path,
.mobile-menu-hub svg circle,
.mobile-menu-hub svg rect {
  fill: #ffffff !important;
}
.mobile-menu-hub #mobile-menu-close {
  color: #ffffff;
  font-size: 2.8rem;
  line-height: 1;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 4px;
  margin-left: auto;
}
/* From sm+: shrink to a circle around X, anchored top-right */
@media (min-width: 640px) {
  .mobile-menu-hub {
    left: auto;
    right: 16px;
    width: 56px;
    height: 56px;
    padding: 0;
    border-radius: 50%;
    justify-content: center;
  }
  .mobile-menu-hub #mobile-menu-close {
    margin-left: 0;
    font-size: 2.2rem;
  }
}
/* Below 360px: stack CTA buttons vertically */
@media (max-width: 360px) {
  .mobile-cta-row {
    flex-direction: column !important;
  }
  .mobile-cta-row a {
    flex: none !important;
    width: 100%;
  }
}

/** MENU ***/
ul#menu-main-menu {
  background: #f7f7f7;
  padding: 15px 0px;
  border-radius: 35px;
}
ul#menu-main-menu li{
  margin:0 3px;
}
ul#menu-main-menu li a,
ul#menu-main-menu-1 li a{
  padding: 12px 20px;
  border-radius:30px;
}
ul#menu-main-menu li.current-menu-item a,
ul#menu-main-menu li a:hover,
ul#menu-main-menu-1 li.current-menu-item a,
ul#menu-main-menu-1 li a:hover {
  background: #116E9E;
  color: #fff;
}
.cartmenu a{
  background-color: none;
  padding: 0;
  height: 46px;
  width: 46px;
  border-radius: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
}
ul#menu-main-menu-1 li.menu-cart {
  order:-1!important;
  margin-left:15px;
}
ul#menu-main-menu-1 li{
  margin:15px 0;
}

/** HERO BANNER HOME **/
.home-hero-banner {
    position: relative;
    margin-top: 35px;
}
.swiper.herobanner .swiper-slide img {
  width: 100%;
}
.swiper.herobanner {
  max-height: 90vh;
  position: relative;
}
.swiper.herobanner:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  /*background: #0000007a;*/
  z-index: 20;
}
.home-hero-banner {
  position: relative;
  margin-top: 35px;
}
.hero-claim {
  position: absolute;
  top: 0;
  z-index: 50;
  width: 100%;
  height: 100%;
  display:flex;
  align-items:center;
}

.hero-claim h1{
  padding-right:0px;
}
.hero-claim h1 span{
  color:#EF7124;
}

/** PAGE BANNER **/
.page-banner{
  margin-top:35px;
}
 
/** W O O C O M M E R C E  ***/

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: #106f9d!important;
  font-size: 1.35em;
  font-weight:750;

}
.variations th.label {
  text-align: left;
}
select#pa_kit, select#pa_scegli-il-double-kit {
  border: 1px solid #ccc;
  padding: 5px 15px;
  border-radius: 25px;
  background: #ffffff;
}
.woocommerce .quantity .qty {
  width: 50px!important;
  text-align: center;
  height: 50px!important;
  border-radius: 100%;
  background: #f7f7f7;
}
select#pa_kit {
  appearance: none;
  padding-right: 30px;

  background-image:
    linear-gradient(45deg, transparent 50%, black 50%),
    linear-gradient(135deg, black 50%, transparent 50%);
    
  background-position:
    calc(100% - 15px) calc(50% - 0px),
    calc(100% - 10px) calc(50% - 0px);

  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.woocommerce div.product form.cart .button[type=submit] {
  background: #EF7124;
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 30px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  transform:scale(1);
}
.woocommerce div.product form.cart .button[type=submit]::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transition: all 0.6s ease;

}
.woocommerce div.product form.cart .button[type=submit]:hover{
  transform:scale(1.08);
  transition:all 0.3s ease;
}
.woocommerce div.product form.cart .button[type=submit]:hover::before {
  left: 100%;
}

.woocommerce div.product form.cart div.quantity{
  display:none;
}
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
  display: flex;
  align-items: center;
  margin-top: 35px;
}

span.onsale {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 10px !important;
  left: 10px !important;
  font-weight: 700;
  color: white;
  background: #ef7124!important;
  border-radius: 50%;
  text-align: center;
  z-index: 1;
}
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__image {
  border-radius: 24px;
  margin-bottom:15px;
}
.woocommerce-product-gallery .flex-control-thumbs img{
  border-radius:24px;
}
.prod-card{
  transform:scale(1);
  transition:all 0.3s ease;
}
.prod-card:hover{
  transform:scale(1.08);
  transition:all 0.3s ease;
}

.free-shipping {
  padding: 10px 10px;
  background: #fafff9;
  background: #f7f7f7;
  border-radius: 25px;
  border: 0px solid #96b996;
  text-align: left;
  color: #106f9d;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 21px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  margin: 0 10px 0 0!important;
}
/** S L I D E R   ***/

.slider-breakout{
  width: calc(100% + ((100vw - 100%) / 2));
}

.prodimgslider .swiper-wrapper{
  align-items: stretch;
}

.prodimgslider .swiper-slide{
  height: auto;
}
 
/** LISTE UL LI MATERIAL **/
.prodfulldesc ul {
  margin:15px 15px 35px 15px;
}
.prodfulldesc ul li{
padding-left:15px;
position:relative;
}
.prodfulldesc ul li:before, .tab-list ul li:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M4.95843 0.279933C5.5378 -0.353974 6.58452 0.173492 6.41974 1.01632L6.05454 2.88412C5.99767 3.17501 6.09646 3.47451 6.31525 3.67447L7.72007 4.95843C8.35397 5.5378 7.82651 6.58452 6.98368 6.41974L5.11588 6.05454C4.82499 5.99767 4.52549 6.09646 4.32553 6.31525L3.04157 7.72007C2.4622 8.35397 1.41548 7.82651 1.58026 6.98368L1.94545 5.11588C2.00233 4.82499 1.90354 4.52549 1.68475 4.32553L0.279933 3.04157C-0.353974 2.4622 0.173492 1.41548 1.01632 1.58026L2.88412 1.94545C3.17501 2.00233 3.47451 1.90354 3.67447 1.68475L4.95843 0.279933Z' fill='%231E1E1C'/%3E%3C/svg%3E");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  width: 8px;
  height: 8px;
  position: absolute;
  top: .5em;
  left: 0;
  }
  .prodfulldesc  h3{
    margin:0px 0 10px 0;
    font-weight:600;
    font-size:24px;
  }


  .wp-block-woocommerce-checkout {
    padding: 25px 15px!important;
}
.woocommerce form .form-row .input-text.login, .woocommerce form .form-row select,
span.select2-selection.select2-selection--single{
  border:0;
  border-radius:50px;
}
button.woocommerce-button.button.woocommerce-form-login__submit,
.woocommerce-EditAccountForm button.woocommerce-Button.button,
.woocommerce .woocommerce-address-fields button.button {
  color: #ffffff;
  border-radius: 50px;
  background-color: #ef7124;
  padding: 20px 25px;
  font-weight:600;
  margin:25px 0 0 0;
}
/** MY AREA **/
.woocommerce-account .woocommerce-MyAccount-navigation {
  background: #f7f7f7;
  border-radius: 25px;
  padding: 25px;
  margin-bottom:35px;
}
.woocommerce-MyAccount-navigation li{
  margin:15px 0;
}
.woocommerce-MyAccount-navigation li a{
padding:8px 15px;
border-radius:50px;
margin:3px 0;
}
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover {
    background: #116e9e;
    color: #ffffff;
}
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads {
  display: none;
}
.u-column1.col-1.woocommerce-Address,
.u-column2.col-2.woocommerce-Address,
.woocommerce-address-fields{
  padding: 25px;
  background: #f7f7f7;
  border-radius: 25px;
}
header.woocommerce-Address-title.title h2,
.woocommerce-MyAccount-content form h2{
  font-weight:600;
  font-size:21px;
  margin-bottom:10px;
}
header.woocommerce-Address-title.title a.edit{
  float:none!important;
  color:#ef7124;
  text-decoration: underline;
}
.woocommerce-Address address{
  margin:25px 0;
}
form.woocommerce-EditAccountForm.edit-account {
  background: #f7f7f7;
  padding: 25px;
  border-radius: 25px;
}
.woocommerce form .form-row .input-text, .woocommerce form .form-row select{
  border:0!important;
  border-radius:50px!important;
}

.woocommerce .woocommerce-MyAccount-content form .form-row {
  padding: 3px 0 25px 0;
  margin: 15px 0 15px 0;
  border-bottom: 1px solid #e7e7e7;
}
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  color: #ef7124;
}
  /** CONTATTI **/
  .contatti-form, .professionista-form {
    padding: 25px;
    background: #f8f8f8;
    border-radius: 25px;
  }
  .contatti-form label, .professionista-form label{
    font-weight:600;
    margin:0 0 5px 15px;
  }

  .professionista-form .half-width{
    flex: 0 0 48%;
  }

  .professionista-form select{
    width:100%;
    background:#ffffff;
    border-radius:25px;
    padding:10px 15px;
    margin:5px;
    height:46px;
  }
  
  .professionista-form textarea{
    width:100%;
    background:#ffffff;
    border-radius:25px;
    padding:10px 15px;
    margin:5px;
  }

  .contatti-form input[type=text],
  .contatti-form input[type=email],
  .contatti-form input[type=tel],
  .professionista-form input[type=text],
  .professionista-form input[type=email],
  .professionista-form input[type=tel],
  .contatti-form select,
  .contatti-form textarea{
    width:100%;
    background:#ffffff;
    border-radius:25px;
    padding:10px 15px;
    margin:5px;
  }
  span.wpcf7-form-control.wpcf7-acceptance label {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    flex-direction: row;
    margin: 10px 0;
    gap: 10px;
    align-items: start;
}
span.wpcf7-form-control.wpcf7-acceptance label input{
  margin-top:5px;
}

.contatti-form input[type=submit], .professionista-form input[type=submit] {
  background: #EF7124;
  color: #ffffff;
  padding: 12px 20px;
  border-radius: 30px;
  display: inline-block;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  transform:scale(1);
}
.contatti-form input[type=submit]::before, .professionista-form input[type=submit]::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transition: all 0.6s ease;

}
.contatti-form input[type=submit]:hover, .professionista-form input[type=submit]:hover{
  transform:scale(1.08);
  transition:all 0.3s ease;
}
.contatti-form input[type=submit]:hover::before, .professionista-form input[type=submit]:hover::before {
  left: 100%;
}
small.woocommerce-price-suffix {
  font-weight: 600;
  font-size: 14px;
}
.aneso {
  background: #f7f7f7;
  border-radius: 25px;
  padding: 25px;
  margin: 0 0 25px 0;
}

h2.wp-block-heading.has-text-align-center.with-empty-cart-icon.wc-block-cart__empty-cart__title {
  margin-bottom: 50px;
}

/***  F O O T H E R  ****/
.footer-menu li{
  padding:2px 0;
}
img.pagamenti-footer {
  width: 300px;
  border-radius: 8px;
}


details.cmplz-dropdown,
details.cmplz-category  {
  width: 100%;
  background: #f7f7f7;
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 25px;
}

/*** WOO CUSTOMIZATION  ***/

  /** RESPONSIVE ***/

@media screen and (max-width: 1700px) {

}

@media screen and (max-width: 1484px) {
  ul#menu-main-menu li a {
    padding: 15px ;
  }
  
}
@media screen and (max-width: 1380px) {
  ul#menu-main-menu li a {
    padding: 15px 8px;
  }
}
@media screen and (max-width: 1279px) {
  header.fixed.is-scrolled{
    backdrop-filter: none!important;
    -webkit-backdrop-filter:none!important;
}
.nascosta{
  display:none;
}
}
@media screen and (max-width: 767px) {

  .professionista-form .half-width{
    flex: 0 0 100%;
  }

  .hero-claim {
    position: relative;
    background: #f8f8f8;
    align-items: flex-end;
    margin: -30px auto 0 auto;
    width: 94%;
    border-radius: 25px;
  }
  .half-top-padding{padding-top:25px;}
  .full-top-padding{padding-top:50px;}
  .half-btm-padding{padding-bottom:25px;}
  .full-btm-padding{padding-bottom:50px;}
  .half-top-margin{margin-top:25px;}
  .full-top-margin{margin-top:50px;}
  .half-btm-margin{margin-bottom:25px;}
  .full-btm-margin{margin-bottom:50px;}


} 
@media screen and (max-width: 480px) {
  .hero-claim {
    width: 90%;
}
}