.elementor-3620 .elementor-element.elementor-element-abd4a33{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:98;}.elementor-3620 .elementor-element.elementor-element-abd4a33:not(.elementor-motion-effects-element-type-background), .elementor-3620 .elementor-element.elementor-element-abd4a33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3620 .elementor-element.elementor-element-d271177{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 5px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:5px;--border-left-width:0px;border-color:#DFDFDF;--border-color:#DFDFDF;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-3620 .elementor-element.elementor-element-d271177:not(.elementor-motion-effects-element-type-background), .elementor-3620 .elementor-element.elementor-element-d271177 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3620 .elementor-element.elementor-element-5b989d7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3620 .elementor-element.elementor-element-6f208d3 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-3620 .elementor-element.elementor-element-6f208d3.elementor-element{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3620 .elementor-element.elementor-element-02abd09 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-3620 .elementor-element.elementor-element-02abd09{text-align:center;}.elementor-3620 .elementor-element.elementor-element-02abd09 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:20px;font-weight:600;}.elementor-3620 .elementor-element.elementor-element-89e4a23{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3620 .elementor-element.elementor-element-fb4a5cb{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-3620 .elementor-element.elementor-element-fb4a5cb:not(.elementor-motion-effects-element-type-background), .elementor-3620 .elementor-element.elementor-element-fb4a5cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3620 .elementor-element.elementor-element-5fb0dd7 > .elementor-widget-container{margin:20px 0px 0px 0px;}.elementor-3620 .elementor-element.elementor-element-5fb0dd7.elementor-element{--align-self:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3620 .elementor-element.elementor-element-f9b3ac5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-3620 .elementor-element.elementor-element-09c8ba5{--display:flex;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;box-shadow:0px 0px 5px 0px rgba(0, 0, 0, 0.11);--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-3620 .elementor-element.elementor-element-09c8ba5:not(.elementor-motion-effects-element-type-background), .elementor-3620 .elementor-element.elementor-element-09c8ba5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3620 .elementor-element.elementor-element-09c8ba5.e-con{--align-self:flex-start;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3620 .elementor-element.elementor-element-8ebc658 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-weight:500;text-transform:uppercase;fill:#FFFFFF;color:#FFFFFF;}.elementor-3620 .elementor-element.elementor-element-1fc7c95{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:60px 60px;--row-gap:60px;--column-gap:60px;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:16px;--padding-left:50px;--padding-right:50px;}.elementor-3620 .elementor-element.elementor-element-1fc7c95.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-3620 .elementor-element.elementor-element-6f26a6c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3620 .elementor-element.elementor-element-6a53546 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:25px;font-weight:600;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3620 .elementor-element.elementor-element-d7c72f1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-3620 .elementor-element.elementor-element-d7c72f1 .cart button, .elementor-3620 .elementor-element.elementor-element-d7c72f1 .cart .button{transition:all 0.2s;}.elementor-3620 .elementor-element.elementor-element-d7c72f1 .quantity .qty{transition:all 0.2s;}@media(min-width:768px){.elementor-3620 .elementor-element.elementor-element-d271177{--width:100%;}.elementor-3620 .elementor-element.elementor-element-5b989d7{--width:25%;}.elementor-3620 .elementor-element.elementor-element-89e4a23{--width:50%;}.elementor-3620 .elementor-element.elementor-element-fb4a5cb{--width:100%;}.elementor-3620 .elementor-element.elementor-element-f9b3ac5{--width:25%;}.elementor-3620 .elementor-element.elementor-element-09c8ba5{--width:100%;}.elementor-3620 .elementor-element.elementor-element-1fc7c95{--width:100%;}.elementor-3620 .elementor-element.elementor-element-6f26a6c{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-6f208d3 */.back{
    background: #B6260D;
    color: white!important;
    padding: 8px 25px;
    display: inline-block;
    border-radius: 20px;
    font-size: 14px;
    font-family: Inter;
    text-transform: uppercase;
}
a.back {
    display: inline-flex;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5fb0dd7 */.zoomable-img {
  position: relative;
  overflow: hidden;
  cursor: grab;
}

.zoomable-img img {
  transform-origin: top left;
  transition: transform 0.1s ease;
  max-width: none !important;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
  display: block;
}
.zoom-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(0,0,0,0.6);
  padding: 6px 12px;
  border-radius: 8px;
  color: white;
  font-size: 20px;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
}

.zoom-toolbar button {
  color: white;
  border: none;
  padding: 6px 10px;
  cursor: pointer;
  border-radius: 4px;
  width: 40px;
  display: flex
;
}

.zoom-progress {
  width: 100px;
  height: 6px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 3px;
  position: relative;
  overflow: hidden;
}

.zoom-progress-bar {
  height: 100%;
  width: 20%; /* in JS sarà aggiornato dinamicamente */
  background: #fff;
  transition: width 0.2s ease;
  border-radius: 3px;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-175311d */.tableFixHead          { overflow: auto; height: 360px; }
.tableFixHead thead th { position: sticky; top: 0; z-index: 1; }

/* Just common table stuff. Really. */
table  { width: 100%; }
th, td { padding: 8px 16px; }
th     { background:#eee; }
table tr th { border: 1px solid #00000045;}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-25602f4 */.elementor-3620 .elementor-element.elementor-element-25602f4 .title{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Work Sans';
}
.elementor-3620 .elementor-element.elementor-element-25602f4 h3{
    margin: 0;
    font-size: 1.2rem;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-6a22988 */.woocommerce-cart-form__contents {
    width: 100%;
    border-collapse: collapse;
    font-family: sans-serif;
    margin-top: 15px;
}

.woocommerce-cart-form__contents th,
.woocommerce-cart-form__contents td {
    padding: 10px 12px;
    text-align: left;
}

.woocommerce-cart-form__contents thead th {
    border-bottom: 2px solid #000;
    font-weight: bold;
}

.woocommerce-cart-form__contents tbody tr {
    border-bottom: 1px solid #e1e1e1;
}

.cart-item-qty {
    width: 60px;
    text-align: center;
}

.spinner {
  border: 4px solid #f3f3f3;
  border-top: 4px solid #333;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: spin 0.8s linear infinite;
  margin: 0 auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#ajax-cart-loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
}

.spinner {
  border: 5px solid #f3f3f3;
  border-top: 5px solid #333;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
#ajax-cart-wrapper {
  position: relative;
}

div#carrello-ajax-container td {
    background: white!important;
    border: none!important;
}
div#carrello-ajax-container input.cart-item-qty {
    border: 1px solid #00000042;
    padding: 4px;
    font-size: 14px;
}
div#carrello-ajax-container th {
    background: white;
    border: none!important;
    border-bottom: 1px solid #000!important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-518bb56 */.elementor-3620 .elementor-element.elementor-element-518bb56 .title{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: 'Work Sans';
}
.elementor-3620 .elementor-element.elementor-element-518bb56 h3{
    margin: 0;
    font-size: 1.2rem;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-d7c72f1 */button.single_add_to_cart_button.button.alt {
    position: sticky;
    bottom: 10px;
    width: 100%;
    margin: 0!important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-abd4a33 */#esploso-container.closed{
    animation: fadeOutToRight;
    animation-fill-mode: forwards;
    display: none;
    animation-duration: 0.4s;
    animation-timing-function: ease-in-out;
}

#esploso-container.open{
    animation: fadeInFromRight;
    animation-fill-mode: forwards;
    animation-duration: 0.4s;
    animation-timing-function: ease-in-out;
}

#esploso-container{
    position: fixed;
    top: 0;
    max-height: 100vh;
    max-height: 100vh;
    overflow: auto;
}

#esploso-container::-webkit-scrollbar{
    display: none;
}

@keyframes fadeOutToRight{
    from{
        display: flex;
        right: 0;
    }
    to{
        display: none;
        right: -100%;
    }
}

@keyframes fadeInFromRight{
    from{
        display: none;
        right: -100%;
    }
    to{
        display: flex;
        right: 0;
    }
}

.woocommerce-notices-wrapper {
    display: none;
}/* End custom CSS */