/*
Theme Name:  Tesoro di Luce
Theme URI:   https://www.netlab360.it
Description: Divi child theme.
Author:      NetLab
Author URI:  https://www.netlab360.it
Template:    Divi
Version: Updated for Divi 4
*/

/* ============= CF7 ============== */
@import '../Divi/includes/builder/feature/dynamic-assets/assets/css/fields.css';
@import '../Divi/includes/builder/feature/dynamic-assets/assets/css/contact_form.css';
@import '../Divi/includes/builder/feature/dynamic-assets/assets/css/contact_form_cpt.css';
@import '../Divi/includes/builder/feature/dynamic-assets/assets/css/contact_form-rtl.css';
@import '../Divi/includes/builder/feature/dynamic-assets/assets/css/contact_form_cpt-rtl.css';

.wpcf7 input[type="checkbox"] {position: relative; opacity: 1; display: block !important; -webkit-appearance: checkbox; margin: 0 10px 0 0 !important; float: left; pointer-events: auto;}
.wpcf7-acceptance {line-height:1.2em;}
input[type="radio"], input[type="checkbox"] { background: #fff !important; border-color: #101010 !important; padding: 0 !important; width: auto !important;}
.et_contact_bottom_container {display:inline-block;}
.wpcf7-spinner {float:left;}
.wpcf7 .et_pb_button, 
.wpcf7 .et_pb_button:hover {padding:.3em 1em;}
/* ============ /CF7 ============== */

.ds-vertical-align {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; flex-direction: column; justify-content: center;}
.ds-vertical-align-bottom { display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; flex-direction:column; justify-content:flex-end;}

.nowrap {white-space:nowrap;}

@media all and (max-width: 980px) {
	.custom_row {display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;}
	.first-on-mobile {-webkit-order:1; order:1;}
	.second-on-mobile {-webkit-order:2; order:2;}
	.third-on-mobile {-webkit-order:3; order:3;}
	.fourth-on-mobile {-webkit-order:4; order:4;}
}

.wt-cli-manage-consent-link {cursor:pointer;}

h1, .h1 {font-size: calc(1.375rem + 1.5vw);}
@media (min-width: 1200px) {
  h1, .h1 {font-size: 2.5rem;}
}
h2, .h2 {font-size: calc(1.325rem + 0.9vw);}
@media (min-width: 1200px) {
  h2, .h2 {font-size: 2rem;}
}
h3, .h3 {font-size: calc(1.3rem + 0.6vw);}
@media (min-width: 1200px) {
  h3, .h3 {font-size: 1.75rem;}
}
h4, .h4 {font-size: calc(1.275rem + 0.3vw);}
@media (min-width: 1200px) {
  h4, .h4 {font-size: 1.5rem;}
}
h5, .h5 {font-size: 1.25rem;}
h6, .h6 {font-size: 1rem;}



.woocommerce-page #main-header {background:#000;}
/* WooCommerce PayPal Payments */
.woocommerce-checkout #payment {border-radius:5px 5px 0 0;} 
.woocommerce form .form-row {margin-bottom:0;}
#order_review .ppc-button-wrapper {background:#e9e6ed; border-radius:0 0 5px 5px; padding:1em; }
.woocommerce-checkout #payment .ppc-button-wrapper {clear:both;}
.woocommerce-checkout #ppc-button-ppcp-gateway .paypal-buttons-context-iframe {text-align:right;}
.woocommerce-checkout #ppc-button-ppcp-gateway .paypal-buttons-context-iframe iframe {width:auto; position:relative;}

.woocommerce-checkout #payment .place-order button#place_order {font-family:PayPalOpen-Regular, Helvetica, Arial, "Liberation Sans", sans-serif; background:#0070ba !important; border-color:#0070ba !important; padding:7px 20px !important; font-size:17px; border-radius:4px;}
.woocommerce a.button.alt, 
.woocommerce-page a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce button.button.alt.disabled, 
.woocommerce-page button.button.alt, 
.woocommerce-page button.button.alt.disabled, 
.woocommerce input.button.alt, 
.woocommerce-page input.button.alt, 
.woocommerce #respond input#submit.alt, 
.woocommerce-page #respond input#submit.alt, 
.woocommerce #content input.button.alt, 
.woocommerce-page #content input.button.alt, 
.woocommerce a.button, 
.woocommerce-page a.button, 
.woocommerce button.button, 
.woocommerce-page button.button, 
.woocommerce input.button, 
.woocommerce-page input.button, 
.woocommerce #respond input#submit, 
.woocommerce-page #respond input#submit, 
.woocommerce #content input.button, 
.woocommerce-page #content input.button, 
.woocommerce button.button:disabled, 
.woocommerce button.button:disabled[disabled] {font-size:16px;}

.woocommerce-checkout #payment .payment_box.payment_method_ppcp-credit-card-gateway {padding:0;}
.woocommerce-checkout #payment .payment_box.payment_method_ppcp-credit-card-gateway ul:after {content:"Tramite circuito sicuro Paypal"; top:15px; position:relative;}
.woocommerce-checkout #payment .payment_box.payment_method_ppcp-credit-card-gateway fieldset {background: #e9e6ed; padding:20px 30px 10px;}
.woocommerce-checkout #payment .payment_box.payment_method_ppcp-credit-card-gateway .form-row.woocommerce-SavedPaymentMethods-saveNew {display:none !important;}
@media (max-width:767px){
	.woocommerce-checkout #payment .payment_box.payment_method_ppcp-credit-card-gateway fieldset {padding:10px 0;}
}

.et_pb_wc_add_to_cart .quantity input.qty {padding:.5rem;}
.onsale{display:none;}

.woocommerce ul.products li.product .price del, 
.woocommerce-page ul.products li.product .price del {padding-right:.25rem; margin-right:.25rem;}
.woocommerce-cart table.cart td.actions .coupon .input-text {padding:.5rem;}
.form-row > .screen-reader-text {position:relative !important; clip-path:none; width:auto; height:auto;}

.et_pb_section .et_pb_widget_area_left {padding-right:0 !important; border-right:0 !important;}
.widgettitle { border-bottom:2px solid #ddd; margin-bottom:.5rem; font-size:16px !important;}
.woocommerce-mini-cart__buttons.buttons a.button,
.woocommerce-mini-cart__buttons.buttons a.button:hover {padding-left:.25rem !important; padding-right:.25rem !important; font-size:14px !important;}

.et_pb_gutters3.et-db #et-boc .et-l .et_pb_column_3_4 .et_pb_shop_grid .woocommerce ul.products li.product {margin-bottom:2rem !important;}


.mobile_menu_bar:before {color:#fff !important;}
.et_slide_menu_top {background:#001d00 !important;}
.et_header_style_fullscreen .et_slide_in_menu_container.et_pb_fullscreen_menu_opened {opacity:1;}

@media (min-width: 1024px) {
	.et_pb_fullwidth_header .et_pb_fullwidth_header_container.left .header-content-container.center{
		display: flex;
		bottom: 2.5rem;
		flex-direction: row;
		align-items: baseline;
		position:absolute;
	}
}


/* Card link */
/* wrapper: mobile = carosello, desktop = griglia centrata */
.rv-wrapper{
  display:flex;
  gap:1rem;
  padding:0 1rem;
  -webkit-overflow-scrolling:touch;
}

/* --- Mobile: carosello con peek --- */
@media (max-width: 767px){
  .rv-wrapper{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-padding-left:1rem;
    overscroll-behavior-x:contain;
    justify-content:flex-start;     /* allinea a sx per lo swipe */
    flex-wrap:nowrap;
  }
  .rv-card{
    flex:0 0 auto;
    width:calc(100% - var(--peek,24%)); /* 1 card piena + peek della successiva */
    scroll-snap-align:start;
  }
}

/* --- Tablet/Desktop: griglia centrata --- */
@media (min-width: 768px){
  .rv-wrapper{
    overflow-x:visible;             /* niente scroll orizzontale */
    scroll-snap-type:none;          /* niente snap */
    padding:0;                      /* togli i gutter dello swipe */
    justify-content:center;         /* CENTRA le card */
    flex-wrap:wrap;                 /* vai a capo */
  }
  .rv-card{
    flex:0 1 auto;
    width:clamp(280px, 31vw, 443px);/* ~3 per riga, con max 443px */
  }
}



/* Wrapper media */
.rv-media {
  position:relative;
  overflow:hidden;
  border-radius:8px;
}

/* Immagine di base */
.rv-img {
  display:block;
  width:100%;
  height:auto;
  transition:opacity .5s ease;
}

/* Video in overlay (nascosto di default) */
.rv-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:translateX(-100vw);   /* evita click su video quando nascosto (pointer-events off non sempre basta) */
  transition:opacity .5s ease, transform 0s linear .5s; /* ritarda reset del transform finché l’animazione finisce */
  pointer-events:none;
  z-index:1;
}

/* Hover/focus: mostra video */
.rv-card:hover .rv-video,
.rv-card:focus .rv-video,
.rv-card:focus-within .rv-video {
  opacity:1;
  transform:translateX(0);
  transition:opacity .5s ease, transform 0s;
}

/* opzionale: sfuma un filo l’immagine sotto quando parte il video */
.rv-card:hover .rv-img,
.rv-card:focus .rv-img { opacity:.2; }

/* testo */
.rv-meta { text-align:center; padding:.9rem 0 0; }
.rv-title { font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; margin:0; }
.rv-subtitle { font-size:.75rem; text-transform:uppercase; color:#666; margin:.4rem 0 0; }