/*
Theme Name: Umea Child
Theme URI: https://umea.qodeinteractive.com
Description: A child theme of Umea
Author: Edge Themes
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: umea
Template: umea
*/

:root {
    --color-blue:  rgba(21,28,56,1);
}

.elementor-lightbox .elementor-lightbox-image {
    box-shadow: 0 0 30px rgba(0, 0, 0, .0), 0 0 8px -5px rgba(0, 0, 0, .0) !important;
}

#qodef-page-inner {
    padding-top: 50px;

}
.single #qodef-page-inner, .tax-ts_product_brand  #qodef-page-inner{
    padding-top: 0;
}

#qodef-page-footer .widget {
    margin: 0 0 40px;
    color: #fff;
}

#qodef-page-footer .widget a {
    color: #000001;
}

#qodef-page-footer h5, #qodef-page-footer h6 {
    color: #fff;
}
.logo-footer{max-width:150px !important}


.qodef-page-title .qodef-m-title {
    font-size: 50px;
    font-weight: 300;
}
/* woocommerce */


.qodef-woo-product-list .qodef-woo-product-title-price-wrapper {
    flex-direction: column;
     justify-content: center;
     text-align: center;
}


.qodef-woo-product-list .qodef-woo-product-title-price-wrapper .price {
    justify-content: center;
}



.qodef-qi-woo-shortcode-product-slider.qodef-item-layout--info-below-swap .qodef-e-product-inner {
    background-color: #fff;

}



.qodef-woo-product-list .qodef-woo-product-inner:hover .qodef-woo-product-image-inner {
    opacity: 0 !important;
}


.qodef-woo-product-list .qodef-woo-product-inner .qodef-woo-product-image img, .prodotto-brand-single img{
    transform: scale(1);
    transition: .35s !important;
}

.qodef-woo-product-list .qodef-woo-product-inner:hover .qodef-woo-product-image img, .prodotto-brand-single:hover img{
    transform: scale(1.05);
    transition: .35s !important ;
}


.qodef-woo-product-content{overflow: hidden ;}


/*
.custom-add-to-cart {
    text-align: center;
    background: #fff;
    color: var(--color-blue);
    font-weight: 600;
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 100%;
    transition: all .6s .1s ease  ;
}



.qodef-woo-product-list .qodef-woo-product-inner:hover .custom-add-to-cart{
   left: 0%;
  transition: .all .6s .1s ease;
}



.qodef-woo-product-list .qodef-woo-product-inner .price{
    left: 0;
    transition: all .6s .1s ease;
}


.qodef-woo-product-list .qodef-woo-product-inner:hover .price{
    left: -100%;
    transition: all .6s .1s ease;
}


*/


#qodef-woo-page.qodef-layout--image-with-thumbnails-left .woocommerce-product-gallery .woocommerce-product-gallery__wrapper a, #qodef-woo-page.qodef-layout--image-with-thumbnails-left .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img {
    height: auto !important;
   
}

#qodef-woo-page.qodef--single .woocommerce-tabs, #yith-quick-view-modal .woocommerce-tabs {
    margin-top: 20px;
}



.woocommerce-tabs.wc-tabs-wrapper{
    display: flex;
    flex-direction: row;
    gap:50px;

}

.woocommerce-tabs.wc-tabs-wrapper > div{
    flex:1;
}

/* Responsive */
@media (max-width: 768px) {
 
 .woocommerce-tabs.wc-tabs-wrapper{
    flex-direction: column;


}
}


#qodef-woo-page.qodef-layout--image-with-thumbnails-below .qodef-woo-single-image {
    padding: 0 21px;
    width: 60%;
}



#qodef-woo-page.qodef-layout--image-with-thumbnails-below .qodef-woo-single-summary {
    padding: 0 21px;
    width: 40%;
    background: #f8f8f8;
    padding: 35px;
}




@media only screen and (min-width: 767px) {

    .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-thumbnail-slider {
        margin-right: 21px;
    }

        .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .woo-variation-gallery-slider-wrapper {
        width: 90% !important;
    }


    .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .woo-variation-gallery-thumbnail-wrapper {
        width: 20%;
    }
    .woo-variation-gallery-thumbnail-position-left-bottom .woo-variation-gallery-container .woo-variation-gallery-slider-wrapper {
        width: 80%;
    }
}


.woo-variation-gallery-wrapper .wvg-gallery-thumbnail-image {
    cursor: pointer;
    margin: 0;
    opacity: .6;
}

/*
.woo-variation-gallery-wrapper .woo-variation-gallery-slider img {
   
    width: auto;
    max-height: 80vh;
} */

#qodef-woo-page.qodef--single form.cart:not(.variations_form):not(.grouped_form) .quantity, #qodef-woo-page.qodef--single form.cart .variations_button .quantity{display: none !important;}


#qodef-woo-page.qodef--single form.cart .variations, #yith-quick-view-modal form.cart .variations {
    margin-bottom: 20px;
    margin-top: 20px !important;

}

#qodef-woo-page.qodef--single form.cart, #yith-quick-view-modal form.cart{margin-top: 0px }

.woocommerce-variation-description {margin-top: 5px; order: 1}

.woocommerce-variation-price{order: 3}

.woocommerce-variation-price .price{margin:0 0 30px!important}


 #qodef-woo-page.qodef--single form.cart .woocommerce-variation-description>*{margin: 0}




.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item){border-radius: 0 !important; box-shadow: none}

.single-product main{margin-top:50px }
.single-product h1.qodef-woo-product-title.product_title{
        text-transform: uppercase;
    font-size: 24px;
    font-weight: 500;

}
#qodef-woo-page.qodef--single .entry-summary .price{font-size: 24px; margin-top: 0px; margin-bottom:30px }

#qodef-woo-page.qodef--single form.cart .variations_button, #qodef-woo-page.qodef--single form.cart:not(.variations_form):not(.grouped_form){flex-direction: column;}

#qodef-woo-page.qodef--single form.cart button, #yith-quick-view-modal form.cart button {
    width: 100% !important; 
}


.single-product .variations_form.cart > div{
    display: flex;
    flex-direction: column-reverse;
}

.woocommerce-breadcrumb{ padding-bottom:6px; font-size:0.75rem }

.breadcrumb-separator{padding: 0 6px; display: inline-block;}
.misura-bracciale {
    width: 100%;
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
 

 .misura-bracciale select{ 
    border: 1px solid #151c38;
    flex-grow: 1;}

.misura-bracciale span {
    padding: 2px;
    max-width: 80px;
    line-height: 1em;
}
.provalo-in-negozio{

display: block; width: 100%; text-align: center; margin-top:10px;
}


#qodef-woo-page .button {

    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
    color: #fff;
    background-color: var(--color-blue);
    border: 1px solid var(--color-blue);
margin-top: 15px;

}

#qodef-woo-page .button:hover {

    transition: color .2s ease-out, background-color .2s ease-out, border-color .2s ease-out;
    color: var(--color-blue);
    background-color: transparent;
    border: 1px solid var(--color-blue);

}






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


#qodef-woo-page.qodef-layout--image-with-thumbnails-below .qodef-woo-single-image {
    width: 100%;
}


#qodef-woo-page.qodef-layout--image-with-thumbnails-below .qodef-woo-single-summary {
    width: 100%;
}

#qodef-woo-page.qodef--single .entry-summary{margin-top: 20px}

}


.product-meta.product-meta-variation{
    /* display: flex; */
    gap: 20px;
    margin-top: 6px;
    order: 2;
    margin-bottom:30px;
}

.product-meta.product-meta-variation:after {
    background-color: #000001;
    content: "";
    height: 1px;
    width: 100px;
    margin-top: 5px;
    display: block;
}

button.single_add_to_cart_button.button.alt.disabled.wc-variation-is-unavailable, button.single_add_to_cart_button.button.alt.disabled.wc-variation-is-unavailable:hover {
   background-color: var(--color-blue) !important;
       color: #fff !important;
       opacity: 0.7;
       cursor: not-allowed !important;
}

.product-stock{font-weight: 600; text-transform: uppercase; letter-spacing: 1px; font-size: 14px; line-height: 1.4em}

.product-sku{font-weight: 400; font-size: 16px; line-height: 1.2em;}


.single-product  #qodef-woo-page .qodef-woo-single-summary .price:has(a.login-per-prezzo){
    flex-direction: column;
}


.single_variation_wrap:has(.login-per-prezzo:not([style*="display: none"])) 
.woocommerce-variation.single_variation 
.woocommerce-variation-price 
.price {
    margin-bottom: 0 !important;
}



.login-per-prezzo {
    display: block;
    margin-top: 4px;
    font-size: 15px;
    font-weight: 400;

}

.login-per-prezzo:hover {
   text-decoration: underline;
}




#qodef-woo-page.qodef-layout--image-with-thumbnails-below .qodef-woo-single-image .qodef-woo-product-mark-holder {
    left: calc(10% + 20px);
}



#qodef-woo-page .qodef-woo-product-title, #yith-quick-view-modal .qodef-woo-product-title, .qodef-featured-content .qodef-woo-product-title, .qodef-woo-product-category-list .qodef-woo-product-title{

    font-size: 28px;
    font-weight: 500; 
    line-height: 1.2em; 
    margin: 5px 0;
}

#qodef-woo-page h3.qodef-woo-product-title{
     font-size: 24px;
    font-weight: 500; 
    line-height: 1em; 
    margin: 5px 0;

}



.wc-desc-wrapper {
    position: relative;
    overflow: hidden;
    transition: max-height 0.4s ease;
}


.wc-desc-wrapper.collapsed {
    max-height: 300px; 
}


.wc-desc-wrapper.collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, transparent, #ffffff);
    pointer-events: none;
}


.wc-read-more-btn {
    display: inline-block;
    margin-top: 14px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.95rem;
    color: #151c38;        
    text-decoration: underline;
    text-underline-offset: 3px;
    background: none;
    border: none;
    padding: 0;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.wc-read-more-btn:hover,
.wc-read-more-btn:focus {
    color: #151c38;        
    outline: none;
}

.qodef-woo-product-list .woocommerce-LoopProduct-link {
	position: absolute !important;}


/* Login/Register form accordion (prezzo scontato) */

.wcvp-accordion-content{padding: 20px; background: #fff; margin-top: 15px}
.wcvp-login-form .wcvp-fields-row,
.wcvp-register-form .wcvp-fields-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;}
.wcvp-login-form .wcvp-fields-row .wcvp-field,
.wcvp-register-form .wcvp-fields-row .wcvp-field{flex:1;min-width:140px;}
.wcvp-login-form .wcvp-fields-row .wcvp-field label,
.wcvp-register-form .wcvp-fields-row .wcvp-field label{display:block;margin-bottom:4px;font-size:.9em;}
.wcvp-login-form .wcvp-fields-row .wcvp-field input,
.wcvp-register-form .wcvp-fields-row .wcvp-field input{width:100%;}
.wcvp-login-form .wcvp-buttons-row,
.wcvp-register-form .wcvp-buttons-row{display:flex;gap:10px;align-items:center;margin-top:10px;}
.wcvp-login-form .wcvp-buttons-row .button,
.wcvp-register-form .wcvp-buttons-row .button{white-space:nowrap;}
.wcvp-login-form .wcvp-buttons-row .wcvp-btn-outline,
.wcvp-register-form .wcvp-buttons-row .wcvp-btn-outline{background:transparent !important;border:1px solid var(--color-blue) !important;color:var(--color-blue) !important;}
.wcvp-login-form .wcvp-buttons-row .wcvp-btn-outline:hover,
.wcvp-register-form .wcvp-buttons-row .wcvp-btn-outline:hover{background:var(--color-blue) !important; color:#fff !important;}
.wcvp-login-form .wcvp-login-links{margin-top:6px;font-size:.85em;}




/* Sezione Brand dopo tabs */
.ds-brand-section {
    margin: 40px auto;
    padding: 30px 30px;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    background: #f8f8f8;
}


.ds-brand-section .ds-brand-image {
    flex: 0 0 40%;
    max-width: 40%;
}

.ds-brand-section .ds-brand-image img{width:100%;height:auto;object-fit:contain;}
.ds-brand-section .ds-brand-content{flex:1;}

.ds-brand-section .ds-brand-content h3{margin:0 0 15px}
.ds-brand-section .ds-brand-description{font-size:.95em;line-height:1.6;}
.ds-brand-section .ds-brand-link{display:inline-block;}
@media (max-width:600px){
    .ds-brand-section{flex-direction:column;}
    .ds-brand-section .ds-brand-image{max-width:50%;margin:0 auto;}
}

#qodef-woo-page.qodef--single .entry-summary .price, #yith-quick-view-modal .entry-summary .price{

    color: var(--color-blue);
}

.pswp__caption{display: none !important} 



/* search sidebar */

#search-filter-form-40589 input[type=radio] {padding-right: 0 !important}

#search-filter-form-40589.searchandfilter ul li li{padding: 0; margin-bottom: 0 !important;}

#search-filter-form-40589.searchandfilter ul li { padding:0}

#search-filter-form-40589.searchandfilter ul li ul{margin-top:0 !important; margin-left: 0}

#search-filter-form-40589.searchandfilter select{margin-top:0; 
    height: auto;
    min-height: 20px;

overflow: visible;
    padding-bottom: 20px;

}

#search-filter-form-40589.searchandfilter .sf-field-taxonomy-ts_product_brand > ul > li > label{
        font-weight: 800;
        color: rgb(21,28,56);
}

#search-filter-form-40589.searchandfilter select option{margin-bottom: 10px}

#search-filter-form-40589.searchandfilter li[data-sf-field-input-type=select] label, 
#search-filter-form-40589.searchandfilter li[data-sf-field-input-type=multiselect] label{ width: 100%}





#search-filter-form-40589.searchandfilter li[data-sf-field-input-type=checkbox] ul{max-height: 220px; overflow-y: scroll}



#search-filter-form-40589.searchandfilter .meta-slider{max-width: 100%; height: 8px}


#search-filter-form-40589.searchandfilter .noUi-connect{background: rgb(21,28,56)}



#search-filter-form-40589.searchandfilter .noUi-target{
    border-radius: 0;
    border: none;
    box-shadow:none;
    margin-top: 30px;
    flex-basis: 100%;
}


#search-filter-form-40589.searchandfilter .noUi-connects {
    overflow: hidden;
    z-index: 0;
    border-radius: 0;
    background: #f8f8f8;
}


#search-filter-form-40589.searchandfilter .noUi-horizontal .noUi-handle{
    border-radius: 0;
    box-shadow:none;
        width: 16px;
    height: 16px;
    right: -10px;
}

#search-filter-form-40589.searchandfilter .sf-meta-range {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


#search-filter-form-40589.searchandfilter .chosen-choices{margin: 0; border: 1px solid rgb(21,28,56); box-shadow: none; background-image: none;}

#search-filter-form-40589.searchandfilter input[type=checkbox]{
    padding: 6px;
    border-width: 1px !important;
}

#search-filter-form-40589.searchandfilter input[type=checkbox]:checked:after {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB3 aWR0aD0iMTEuNnB4IiBoZWlnaHQ9IjExLjU1NnB4IiB2aWV3Qm94PSIwIDAgMTEuNiAxMS41NTYi IGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDExLjYgMTEuNTU2IiB4bWw6c3BhY2U9InByZXNl cnZlIj4KPHBhdGggZmlsbD0iIzAyMDIwMiIgZD0iTTExLjQ5NiwwLjYyNGMwLjAyNywwLjE2NC0w LjAwNSwwLjMxOS0wLjA5NiwwLjQ2NWwtNS4xOTUsNy41MmMtMC4wMTksMC0wLjAzMiwwLjAwOS0w LjA0MSwwLjAyNyAgQzYuMTU0LDguNjU0LDYuMTUsOC42NzIsNi4xNSw4LjY5QzYuMDIyLDguODE4 LDUuODY3LDguODgxLDUuNjg1LDguODgxYy0wLjA1NSwwLTAuMTE5LTAuMDA5LTAuMTkxLTAuMDI3 TDUuNDY2LDguODI3ICBDNS40MTIsOC44MDksNS4zNzUsOC43OTEsNS4zNTcsOC43NzJjLTAuMDE5 LDAtMC4wMzItMC4wMDQtMC4wNDEtMC4wMTRDNS4zMDcsOC43NSw1LjMwMiw4Ljc0LDUuMzAyLDgu NzMxICBjMC0wLjAwOS0wLjAwOS0wLjAxNC0wLjAyNy0wLjAxNEw1LjIyLDguNjYzQzUuMTg0LDgu NjI2LDUuMTY2LDguNTk5LDUuMTY2LDguNTgxTDIuOTUxLDYuMDY1Yy0wLjEyOC0wLjEwOS0wLjE5 MS0wLjI1LTAuMTkxLTAuNDI0ICBjMC0wLjE3MywwLjA1NS0wLjMxOSwwLjE2NC0wLjQzOGMwLjEw OS0wLjExOCwwLjI1LTAuMTgyLDAuNDI0LTAuMTkxQzMuNTIsNS4wMDMsMy42Nyw1LjA1MywzLjc5 OCw1LjE2M0w1LjYzLDcuMjY4bDQuNzU4LTYuODYzICBjMC4xMjctMC4xODIsMC4zMDEtMC4yNzMs MC41Mi0wLjI3M2MwLjEwOSwwLDAuMjE5LDAuMDM3LDAuMzI4LDAuMTA5QzExLjM4MSwwLjMzMiwx MS40NjgsMC40NTksMTEuNDk2LDAuNjI0eiIvPgo8L3N2Zz4=);
    background-position: center;
    background-repeat: no-repeat;
    content: "";
    height: 14px;
    left: -2px;
    position: absolute;
    top: 0px;
    width: 14px;
}
#search-filter-form-40589.searchandfilter .sf-field-submit input{
    width: 100%;
    background-color:rgb(21,28,56);
    color: #fff;
    padding: 20px;
    border-color:rgb(21,28,56);
}
#search-filter-form-40589.searchandfilter .sf-field-submit input:hover{

    background-color:#fff;
    color: rgb(21,28,56);

}


#search-filter-form-40589.searchandfilter .sf-field-reset input{
    width: 100%;
     border-color:rgb(21,28,56);
}

#search-filter-form-40589.searchandfilter .sf-field-reset input:hover{
     background-color:rgb(21,28,56);
}


.error404 #qodef-page-outer{background-image:none}

/* =====================================================
   Mobile filter drawer
   ===================================================== */

/* Nascosti di default su desktop */
.ds-mobile-filter-btn,
.ds-mobile-filter-overlay { display: none; }


.ds-mobile-filter-close{display: none;}


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

	/* Pulsante Filtri */
	.ds-mobile-filter-btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 20px;
		padding: 11px 22px;
		background: #111;
		color: #fff;
		border: none;
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		cursor: pointer;
		transition: background 0.2s;
	}
	.ds-mobile-filter-btn:hover { background: #333; }

	/* Sidebar wrapper → drawer fisso dal basso, flex-column (no overflow qui) */
	.qodef-grid-item:has(#qodef-page-sidebar) {
		position: fixed !important;
		bottom: -50px;
		left: 0;
		width: 100% !important;
		height: 80dvh;
		background: #fff;
		z-index: 100000;
		transform: translateY(100%);
		transition: transform 0.32s cubic-bezier(.4, 0, .2, 1);
		overflow: hidden !important;   /* lo scroll è gestito da #qodef-page-sidebar */
		float: none !important;
		display: flex;
		flex-direction: column;
		box-shadow: 0 -6px 24px rgba(0,0,0,0.18);
		border-radius: 16px 16px 0 0;
		padding: 0 !important;
	}

	/* Drawer aperto */
	.qodef-grid-item:has(#qodef-page-sidebar).ds-filter-open {
		transform: translateY(0);
	}

	/* Aside: occupa lo spazio rimanente e scrolla */
	#qodef-page-sidebar {
		flex: 1;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		min-height: 0;
		padding: 24px 20px 0 !important;
        margin-top: 0;
	}

	/* Overlay scuro */
	.ds-mobile-filter-overlay {
		display: none;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.46);
		z-index: 99999;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s;
	}
	.ds-mobile-filter-overlay.ds-filter-open {
		display: block;
		opacity: 1;
		pointer-events: auto;
	}

	/* Blocca scroll quando il drawer è aperto */
	body.ds-filter-body-lock { overflow: hidden; }

	/* Pulsante × sticky in cima al pannello (non scorre) */
	.ds-mobile-filter-close {
		position: sticky;
		top: 0;
		display: block;
		margin-left: auto;
		background: #fff;
		border: none;
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
		color: #111;
		padding: 4px 8px;
		z-index: 10;
		text-align: right;
	}
	.ds-mobile-filter-close:hover { opacity: 0.6; }

	/* Handle visivo in cima al pannello (fuori dal flusso scorrevole) */
	.qodef-grid-item:has(#qodef-page-sidebar)::before {
		content: '';
		flex-shrink: 0;
		display: block;
		width: 40px;
		height: 4px;
		background: #ccc;
		border-radius: 2px;
		margin: 16px auto 4px;
	}

	.qodef-grid.qodef-gutter--mega > .qodef-grid-inner > .qodef-grid-item {
		margin: 0;
	}

	/* Bottoni submit + reset: affiancati e sticky al fondo, altezza uguale */
	#qodef-page-sidebar .sf-field-submit,
	#qodef-page-sidebar .sf-field-reset {
		display: inline-flex !important;
		width: calc(50% - 4px);
		vertical-align: top;
		position: sticky;
		bottom: 10px;
		background: #fff;
		z-index: 5;
		padding: 20px;
		box-sizing: border-box;
		margin: 0 !important;
	}

	#qodef-page-sidebar .sf-field-submit {
		margin-right: 8px !important;
	}

	/* Linea separatrice sopra la coppia sticky */
	    #qodef-page-sidebar .sf-field-submit::before {
        content: '';
        position: absolute;
        top: -10px;
        left: -20px;
        right: -20px;
        height: 100%;
        background: white;
        width: 100vw;
        padding-top: 20px;
    }

	#qodef-page-sidebar .sf-field-submit input,
	#qodef-page-sidebar .sf-field-reset input {
		width: 100% !important;
        padding: 20px;
	}
}

@media only screen and (max-width: 680px) {
    .qodef-woo-product-list ul.products.columns-3>.product, .qodef-woo-product-list ul.products.columns-5>.product {
        width: 50%;
    }

    .product-stock {
    font-size: 10px;
    line-height: 1.2em;
    }

.product-sku {
    font-size: 14px;
    margin-top: 5px;
}

#qodef-woo-page h3.qodef-woo-product-title{    font-size: 1.2em;}

.woocommerce-tabs.wc-tabs-wrapper{gap: 0}
}


/* ============================================================
   Checkout stile Shopify — layout 2 colonne
   (template: woocommerce/checkout/form-checkout.php + review-order.php)
   ============================================================ */

/* Griglia principale: form a sinistra, riepilogo sticky a destra */
.ds-checkout-shopify .ds-checkout-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: start;
	width: 100%;
	max-width: none;
	margin: 0;
}

/* Stack verticale dei dati cliente (override float del tema) */
.ds-checkout-shopify #customer_details,
.ds-checkout-shopify #customer_details .col-1,
.ds-checkout-shopify #customer_details .col-2 {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	padding: 0 !important;
}
.ds-checkout-shopify #customer_details .col-2 {
	margin-top: 32px;
}

/* Titoli sezione */
.ds-checkout-shopify .ds-checkout-section-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0 0 18px;
	color: #1a1a1a;
}
.ds-checkout-shopify h3#ship-to-different-address {
	font-size: 15px;
	font-weight: 600;
}
.ds-checkout-shopify .ds-checkout-payment-wrap {
	margin-top: 38px;
}

/* Coupon inline sempre visibile (override del display:none di checkout.js) */
.ds-checkout-shopify .ds-checkout-coupon {
	margin-top: 38px;
}
.ds-checkout-shopify form.checkout_coupon.ds-coupon-form {
	display: block !important;
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}
.ds-checkout-shopify .ds-coupon-row {
	display: flex;
	gap: 10px;
}
.ds-checkout-shopify .ds-coupon-row .input-text {
	flex: 1 1 auto;
	margin: 0;
}
.ds-checkout-shopify .ds-coupon-apply {
	flex: 0 0 auto;
	padding: 0 24px;
	background: #1a1a1a;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
}
.ds-checkout-shopify .ds-coupon-apply:hover {
	background: #000;
}

/* --- Campi form --- */
.ds-checkout-shopify .form-row {
	margin: 0 0 14px;
	padding: 0;
}
.ds-checkout-shopify .form-row label {
	display: inline-block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #555;
}
.ds-checkout-shopify .form-row .required { color: #c0392b; }

/* Label come placeholder: nascondi le label dei campi testuali/select (non i checkbox) */
.ds-checkout-shopify .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
	display: none !important;
}
.ds-checkout-shopify .form-row input::placeholder,
.ds-checkout-shopify .form-row textarea::placeholder {
	color: #8a8a8a;
}

/* Label dei checkbox (newsletter, crea account, ecc.) restano visibili */
.ds-checkout-shopify .form-row label.checkbox,
.ds-checkout-shopify .form-row label.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #1a1a1a;
}
.ds-checkout-shopify .form-row label.checkbox input,
.ds-checkout-shopify .form-row label.woocommerce-form__label-for-checkbox input {
	margin: 0;
	flex: 0 0 auto;
}

.ds-checkout-shopify .input-text,
.ds-checkout-shopify textarea,
.ds-checkout-shopify select {
	width: 100%;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	padding: 13px 14px;
	font-size: 15px;
	line-height: 1.3;
	background: #fff;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}

.ds-checkout-shopify select#billing_country{
       height: 45px;
    padding: 11px 18px;
}


.ds-checkout-shopify .input-text:focus,
.ds-checkout-shopify textarea:focus,
.ds-checkout-shopify select:focus {
	border-color: #1a1a1a;
	box-shadow: 0 0 0 1px #1a1a1a;
	outline: none;
}

/* Nome / Cognome affiancati */
.ds-checkout-shopify p.form-row-first,
.ds-checkout-shopify p.form-row-last {
	width: calc(50% - 8px);
	float: left;
}
.ds-checkout-shopify p.form-row-first { margin-right: 16px; }
.ds-checkout-shopify p.form-row-last  { float: right; margin-right: 0; }
.ds-checkout-shopify .woocommerce-billing-fields__field-wrapper::after,
.ds-checkout-shopify .woocommerce-shipping-fields__field-wrapper::after,
.ds-checkout-shopify .woocommerce-account-fields::after,
.ds-checkout-shopify .col2-set::after {
	content: "";
	display: table;
	clear: both;
}


/* Select2 (paese) coerente con gli input */
.ds-checkout-shopify .select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid #cfcfcf;
	border-radius: 6px;
	display: flex;
	align-items: center;
}
.ds-checkout-shopify .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: normal;
	padding-left: 14px;
}
.ds-checkout-shopify .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
}

/* --- Colonna destra (riepilogo) sticky --- */
.ds-checkout-shopify .ds-checkout-aside {
	position: sticky;
	top: 30px;
	align-self: start;
}


.ds-checkout-shopify .ds-checkout-aside-inner {
	background: #f8f8f8;
	padding: 28px 24px;
}

.ds-checkout-shopify .ds-checkout-aside.ds-aside-stuck .ds-checkout-aside-inner {
        margin-top: 70px;
}

#qodef-woo-page.qodef--checkout .woocommerce-checkout-review-order-table tfoot td{
    text-align: right;

}


/* position:sticky non funziona se un antenato ha overflow!=visible.
   Il tema imposta #qodef-page-wrapper{overflow:hidden}: lo annullo sul checkout. */
body.woocommerce-checkout #qodef-page-wrapper {
	overflow: visible !important;
}
.ds-checkout-shopify #order_review {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	border: none;
}

/* Tabella riepilogo */
.ds-review-order {
	width: 100%;
	margin: 0;
	border: none;
	border-collapse: collapse;
}
.ds-review-order tbody td.product-name {
	padding: 14px 0;
	border-bottom: 1px solid #ececec;
}

/* Riga prodotto: miniatura + info + prezzo */
.ds-review-item {
	display: flex;
	align-items: center;
	gap: 14px;
}
.ds-review-thumb {
	position: relative;
	flex: 0 0 56px;
}
.ds-review-thumb img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid #e2e2e2;
	display: block;
}
.ds-review-qty {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: #5a5a5a;
	color: #fff;
	border-radius: 999px;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	font-weight: 600;
}
.ds-review-info { flex: 1 1 auto; min-width: 0; }
.ds-review-title {
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	color: #1a1a1a;
}
a.ds-review-title {
	text-decoration: none;
}
a.ds-review-title:hover {
	text-decoration: underline;
}
.ds-review-title .product-sku,
.ds-review-sku {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: #888;
	margin-top: 2px;
}
.ds-review-meta {
	margin-top: 4px;
	font-size: 12px;
	color: #777;
}
.ds-review-meta p { margin: 0; }
.ds-review-meta dl.variation { margin: 0; }
.ds-review-meta dl.variation dt {
	float: left;
	clear: left;
	margin: 0 4px 0 0;
	font-weight: 600;
}
.ds-review-meta dl.variation dd { margin: 0; }
.ds-review-meta dl.variation dd p { margin: 0; }
.ds-review-price {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	color: #1a1a1a;
}
.ds-checkout-shopify .ds-review-remove {
	flex: 0 0 auto;
	margin-left: 4px;
	width: 22px;
	height: 22px;
	padding: 0;
	font-size: 18px;
	line-height: 1;
	color: #aaa;
	background: none;
	border: none;
	cursor: pointer;
	transition: color .15s;
}
.ds-checkout-shopify .ds-review-remove:hover {
	color: #c0392b;
}

/* Totali */
.ds-review-order tfoot th,
.ds-review-order tfoot td {
	padding: 9px 0;
	border: none;
	font-size: 14px;
	text-align: left;
	color: #555;
	font-weight: 500;
}
.ds-review-order tfoot td {
	text-align: right;
	color: #1a1a1a;
}
.ds-review-order tfoot tr:first-child th,
.ds-review-order tfoot tr:first-child td {
	padding-top: 18px;
}
.ds-review-order tfoot tr.order-total th,
.ds-review-order tfoot tr.order-total td {
	padding-top: 16px;
	border-top: 1px solid #ececec;
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
}

/* --- Pagamento --- */
.ds-checkout-shopify #payment {
	background: transparent;
	padding: 0;
	border-radius: 0;
}
.ds-checkout-shopify #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #cfcfcf;
}
.ds-checkout-shopify #payment ul.payment_methods li {
	margin: 0;
	padding: 16px;
	list-style: none;
	border-bottom: 1px solid #ececec;
}
.ds-checkout-shopify #payment ul.payment_methods li:last-child {
	border-bottom: none;
}
.ds-checkout-shopify #payment .payment_box {
	margin: 12px 0 0;
	padding: 12px 14px;
	background: #f6f6f6;
	border-radius: 6px;
	font-size: 13px;
}
.ds-checkout-shopify #payment .payment_box::before {
	display: none;
}

/* Bottone "Effettua ordine" */
.ds-checkout-shopify #place_order {
	width: 100%;
	margin-top: 18px;
	padding: 16px 24px;
	background: #1a1a1a;
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .15s;
}
.ds-checkout-shopify #place_order:hover {
	background: #000;
}

/* Coupon / login sopra la griglia, allineati alla larghezza del checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.login {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

/* --- Sezione Spedizione (colonna sinistra) --- */
.ds-checkout-shopify .ds-checkout-shipping {
	margin-top: 38px;
}
.ds-checkout-shopify .ds-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid #cfcfcf;
	border-radius: 8px;
}
.ds-checkout-shopify .ds-shipping-methods li {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid #ececec;
}
.ds-checkout-shopify .ds-shipping-methods li:last-child {
	border-bottom: none;
}
.ds-checkout-shopify .ds-shipping-method {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 500;
	color: #1a1a1a;
	cursor: pointer;
}
.ds-checkout-shopify .ds-shipping-method input {
	margin: 0;
	flex: 0 0 auto;
}
.ds-checkout-shopify .ds-shipping-method .amount {
	margin-left: auto;
	font-weight: 600;
}
.ds-checkout-shopify .ds-shipping-none {
	margin: 0;
	padding: 14px 16px;
	font-size: 14px;
	color: #c0392b;
	background: #fff;
	border: 1px solid #f0d0cc;
	border-radius: 8px;
}

/* --- Responsive --- */
@media only screen and (max-width: 900px) {
	.ds-checkout-shopify .ds-checkout-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.ds-checkout-shopify .ds-checkout-aside {
		order: -1; /* riepilogo sopra il form su mobile */
		position: static;
	}
}


#qodef-woo-page.qodef--checkout .woocommerce-checkout-review-order-table{border: 0;}

.wc_payment_method label{display: inline-block;}

.ds-checkout-main #coupon_code{margin-bottom: 0 !important}

#qodef-woo-page.qodef--checkout .woocommerce-checkout{margin-top: 0}

#newsletter_optin_field{margin-bottom: 10px}

h3#order_review_heading{display: none;}