@charset "UTF-8";
/* CSS Document */
* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
::placeholder {
  color: #999999;
}
html, body{
    height: 100%;
    width: 100%;
}
body {
    background-color: #fff !important;
    font-family: Roboto;
}
.debug{
    border: 1px solid #999;
}
.nav{
    background-color: #fff;
}
.d-flex{
    display: flex;
}
.row{
    flex-direction: row;
}
.col{
    flex-direction: column;
}
a.link{
    text-decoration: none;
}
a:has(.homepage_box){
    text-decoration: none;
}
.homepage_box_desktop{
    width: 200px;
    margin-right: 20px;
    margin-left: 20px;
    margin-bottom: 30px;
    border: 1px solid rgb(208,45,124);
}
.homepage_box{
    display: flex;
    flex-direction: column;
}
.homepage_box .hbtn{
    background-color: rgb(208,45,124);
    /*background-color: #000;*/
    color: #fff;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 16px;
}
.homepage_box .hbtn .titolo{
    flex: 0.9;
    font-weight: 700;
    color: #fff;
    font-size: 12px;
}
.titolo_categoria{
    font-size: 1.5rem;
  font-weight: 700;
    text-transform: uppercase;
}
.titolo2{
    font-size: 1.2rem;
    font-weight: 700;
}
.titolo_articolo{
    font-size: 1.2rem;
}
.unita_di_misura{
    font-size: 1rem;
}
.product_badges {
    background: rgba(90, 172, 50, .1);
    color: #383838;
    font-size: .625rem;
    font-weight: 500;
    gap: .5rem;
    padding: 4px;
    letter-spacing: 1px;
    line-height: 1rem;
    text-transform: uppercase;
}
.description-box {
  border: .0625rem solid #dbdbdb;
  border-radius: .5rem;
  padding: 1rem;
}
.carosello_cerchi,.slider_frame {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    /*flex-wrap: wrap;*/
    overflow-x: auto;
    white-space: nowrap;
}
.home_cerchio_categoria{
    width: 6.25rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-right: 12px;
}
.home_cerchio_categoria h2{
    color: #383838;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    margin-top: 4px;
}
.home_cerchio_categoria .cerchio{
    align-items: center;
    background-color: #ffd201;
    border-radius: 3.125rem;
    display: flex;
    height: 6.25rem;
    justify-content: center;
    width: 6.25rem;
}
.lista_articoli .articolo{
    margin-bottom: 8px;
    margin-top: 8px;
    border: 1px solid #e3047e;
    border-radius: 9px;
    padding-bottom: 4px;
    height: 98%;
}
.lista_articoli .articolo a{
    text-decoration: none;
    color: #000;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.lista_articoli .articolo .descr{
    /*margin-top: 4px;*/
    font-size: 12px;
    text-transform: uppercase;
    word-break: break-word;
    padding-left: 6px;
}
.lista_articoli .articolo .foto img{
    margin-top: 1px;
    margin-bottom: 1px;
    margin-left: 1px;
    margin-right: 1px;
    max-height: 150px;
    max-width: 150px;
}
.lista_articoli .articolo .foto{
    /*border: 1px solid #e3047e;*/
    /*border-radius: 9px;*/
    display: flex;
    align-items: center;
    justify-content: center;
    height: 152px;
}
.lista_articoli .articolo .codice{
    font-size: 12px;
    text-transform: uppercase;

}
.lista_articoli .articolo .box_codice{
    font-weight: 600;
    font-size: 10px;
    margin-bottom: 4px;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding-left: 6px;
}
.lista_articoli .articolo .disponibilita{
    font-size: 10px;
    font-family: monospace;
    padding-left: 6px;
}
.lista_articoli .articolo .prezzo{
    font-family: monospace;
    font-size: 9px;
    padding-left: 6px;
}
.page-item.active .page-link{
    background-color: rgb(208,45,124);
    color: #fff;
    border-color: #ccc;
}
.page-link{
    color: #000;
}
.filter-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: #f3f3f3;
    border-radius: 24px;
    font-size: .875rem;
    gap: .25rem;
    line-height: 1.25rem;
    height: 40px;
    padding: .5rem .75rem;
    white-space: nowrap;
    cursor: pointer;
    margin-left: 3px;
    margin-right: 3px;
}
.filter-item div{
    display: flex;
    flex-direction: row;
    margin-left: 4px;
}
.filter-item:has(svg){
    border: 1px solid #000;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIB typeahead_search */
.typeahead_search td{
    padding-top: 9px;
    padding-bottom: 9px;
}
.typeahead_search tr.articoli:hover{
    background-color: lightyellow;
}
.typeahead_search .ty_tag_box td{
    padding-left: 30px;
}
.typeahead_search .ty_tag_box td li{
    margin-top: 8px;
    margin-bottom: 8px;
}
.typeahead_search .ty_tag_box a{
    font-weight: 600;
    color: #000;
}
.typeahead_search b{
    font-weight: 600;
    background-color: lightyellow;
}
.nav_bar_footer .box, .box a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    color: #fff;
    text-decoration: none;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END   typeahead_search  */

/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIB parama btn */
.btn_parama{

}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END   parama btn  */

/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIB OVERRIDE BOOTSTRAP */
.btn{
    border-radius: 0px !important;
}
.breadcrumb-item a{
    color: #000;
    text-decoration: none;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END   OVERRIDE BOOTSTRAP  */


/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIN STILE FINESTRE MODALI E LOADING */
.noscroll {
    overflow: hidden;
}
.finestre_modali {
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
	position: fixed;
	top: -1000px;
	left: -2010px;
	padding: 0px;
	z-index: 900;
}
.finestre_modali .titolo{
    font-family: "Roboto Condensed";
    font-size: 1.5em;
    font-weight: 700;
    height: 60px;
    margin-top: 10px;
    text-transform: uppercase;
}
.finestre_modali .box{
    padding-left: 20px;
    padding-right: 20px;
}
.finestre_modali .hr{
    border-top: 1px solid #999;
    height: 2px;
}
#loading_layer{
    z-index: 899;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END STILE FINESTRE MODALI E LOADING  */


/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIN ACCORDION */
.accordion {
    cursor: pointer;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 30px;
    padding-bottom: 7px;
    margin-top: 20px;
    transition: background-color 0.3s;
    display: flex;
    flex-direction: row;
    border-top: 1px solid #ccc;
}
.accordion .titolo2{
    flex: 2;
}
.accordion .titolo2 .valore_attuale{
    font-size: 12px;
    font-weight: 400;
    color: #777;
    letter-spacing: 1px;
}
.panel .opzione{
    display: flex;
    flex-direction: row;
    padding-top: 7px;
    padding-bottom: 7px;
    padding-left: 20px;
}
.panel .opzione .voce{
    flex:2;
}
.panel input[type] {
    width: 20px;
    height: 20px;
    accent-color: #000; /* Optional: change the color of the radio button */
}
.accordion.active {
    /*background-color: #f1f1f1;*/
}
.accordion.active .icon svg {
    transform: rotate(180deg);
}

.panel {
    padding: 0 10px;
    padding-left: 30px;
    padding-right: 30px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.panel p {
    margin: 10px 0;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END  ACCORDION */



/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIN FORM */
.error{
    border: 2px solid red;
}
.error_msg{
    background-color: lightyellow;
    color: red;
    padding: 4px;
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END FORM */

/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIN CARRELLO */
.qty_btn_box div{
    display: flex;
    flex-direction: row;
    height: 46px;
}
.qty_btn{
    background-color: #ccc;
    display: flex;
    justify-content: center;
    cursor: pointer;
    align-items: center;
    width: 40px;
}
.qty_qty{
    font-size: 20px;
}
.box_add_to_cart.small div{
    height: 26px;
}
.box_add_to_cart.small .qty_btn{
    width: 26px;
}
.box_add_to_cart.small .txt_quantita{
    display: none;
}
.box_add_to_cart.small .qty_qty{
    font-size: 12px;
}
.smat-add-to-cart{
    border: 1px solid #000;
    margin-bottom: 15px;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    max-width: 480px;
}
.button-balsamiq {
  background-color: #f2f2f2;      /* Light gray fill */
  border: 2px solid #333;         /* Thick dark border */
  border-radius: 10px;            /* Rounded corners */
  box-shadow: 3px 3px 0 #aaa;     /* Fake 3D shadow effect */
  padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 5px;
  font-size: 14px;
  font-family: 'Comic Sans MS', 'Chalkboard SE', sans-serif; /* Hand-drawn feel */
  cursor: pointer;
  display: inline-block;
  text-align: center;
    height: 30px;
    width: 30px;
    line-height: 10px;
}

.button-balsamiq:active {
  box-shadow: 1px 1px 0 #aaa;     /* Reduce shadow when pressed */
  transform: translate(2px, 2px); /* Small push effect */
}
.select-balsamiq {
  background-color: #f2f2f2;      /* Light gray fill */
  border: 2px solid #333;         /* Thick dark border */
  border-radius: 10px;            /* Rounded corners */
  box-shadow: 3px 3px 0 #aaa;     /* Fake 3D shadow effect */
  text-align: center;
    height: 30px;
}
.button-balsamiq.wide{
    width: 100%;
}
.button-balsamiq.success{
    background-color: #69bc69;
    color: #fff;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++ END CARRELLO */


/* ++++++++++++++++++++++++++++++++++++++++++++++ BEGIN BTN  */
.button {
  background-color: #776e73; /* Green */
  border: none; /* Remove border */
  color: white; /* Text color */
  padding: 12px 18px; /* Button padding */
  text-align: center; /* Center the text */
  text-decoration: none; /* Remove underline from text */
  display: inline-block; /* Display as inline block */
  font-size: 16px; /* Font size */
  margin: 8px 2px; /* Margin around the button */
  border-radius: 8px; /* Rounded corners */
  transition-duration: 0.3s; /* Smooth transition for hover effects */
  cursor: pointer; /* Pointer on hover */
  /*box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); !* Subtle shadow *!*/
}

.button:hover {
  background-color: #e3047e; /* Darker shade on hover */
  box-shadow: 0 8px 10px rgba(0, 0, 0, 0.2); /* Slightly stronger shadow on hover */
}
.button.master{
    background-color: #e3047e;
}
.button.warning{
    color: #000;
    background-color: #ffc107;
}
.button.wide{
    width: 90%;
}
.button.large{
    font-size: 24px;
}
.button.small{
    padding: 6px 9px; /* Button padding */
    font-size: 12px;
    margin: 4px 2px; /* Margin around the button */
}
.button.master:hover {
  background-color: #776e73; /* Darker shade on hover */
  box-shadow: 0 8px 10px rgba(0, 0, 0, 0.2); /* Slightly stronger shadow on hover */
}
/* ++++++++++++++++++++++++++++++++++++++++++++++ END BTN */

/*  - - - - - - - - - - - - - - - - - - - BEGIN CARRELLO  */
.box_metodi_di_pagamento .metodo{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.box_metodi_di_pagamento .metodo .bigRadio{
    flex: 0 0 15%;
}
.box_metodi_di_pagamento .metodo .descr{
    flex: 0 0 70%;
}
.box_metodi_di_pagamento .metodo .costo{
    flex: 0 0 15%;
    font-size: 12px;
}
.bigRadio {
    width: 26px;
    height: 26px;
    /* Optional for better visibility */
    accent-color: #007BFF; /* Change color */
}
.box_indirizzo label{
    border-bottom: 1px solid rgb(208,45,124);
    margin-bottom: 10px;
    padding-bottom: 15px;
    display: flex;
    flex-direction: row;
}
.box_indirizzo label .bigRadio{
    margin-top: 5px;
    flex: 0 0 15%;
}
/*  - - - - - - - - - - - - - - - - - - - END   CARRELLO  */


/*  - - - - - - - - - - - - - - - - - - -   */
/*             BEGIN   MARQUEE              */
/*  - - - - - - - - - - - - - - - - - - -   */
.txtSottolineatoRosso{
    border-bottom: 2px solid #ff0000;
    padding-bottom: 1px;
}
.marque_desktop.marquee .txtSottolineatoRosso{
    border-bottom: 2px solid #fff;
    padding-bottom: 1px;
}
.marquee {
    height: 27px;
    overflow: hidden;
    position: relative;
    border: 0px solid #4a4a4a;
    display: flex;
    flex-direction: row;
    width: 100%;
}
.marquee div {
    white-space: nowrap;
    text-transform: uppercase;
    display: inline-block;
    font-size: 11px;
    color: rgb(208,45,124);
    position: relative;
    line-height: 26px;
    animation: scroll-left 50s linear infinite;
}
.marque_desktop.marquee div{
    color: rgb(255,255,255) !important;
}
.marquee .testo{
    font-size: 11px;
    margin-right: 10px;
    line-height: 26px;
    letter-spacing: 2.5px;
    display: flex;
    align-items: center;
}
@keyframes scroll-left {
    0% {
        transform: translateX(30%);
    }
    100% {
        transform: translateX(-100%);
    }
}
/*  - - - - - - - - - - - - - - - - - - -   */
/*             END   MARQUEE                */
/*  - - - - - - - - - - - - - - - - - - -   */

/*  - - - - - - - - - - - - - - - - - - -   */
/*          BEGIN   MENU DESKTOP            */
/*  - - - - - - - - - - - - - - - - - - -   */
#menu_desktop{
    display: flex;
    flex-direction: row;
    overflow: scroll;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
    scrollbar-width: none;
    overflow-x: hidden;
}

#menu_desktop::-webkit-scrollbar {
  display: none; /* Hide scrollbar in WebKit browsers */
}
.voce_menu_desktop{
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 7px;
    margin-bottom: 7px;
    white-space: nowrap;
}
.voce_menu_desktop a, .voce_sub_menu_desktop a{
    color: #000;
    text-decoration: none;
}
.voce_sub_menu_desktop{
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 7px;
    margin-bottom: 12px;
    white-space: nowrap;
}
.rotating-element {
    display: inline-block;
    transform: rotate(180deg);
    transition: transform 0.5s ease-in-out;
}
.animate-pulse {
    animation: pulse 2s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes pulse {
    50% {
        opacity: .5
    }
}
/*  - - - - - - - - - - - - - - - - - - -   */
/*          END   MENU DESKTOP            */
/*  - - - - - - - - - - - - - - - - - - -   */



.image-container {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}
.image-container.zoomed .zoomable-image {
  transform: scale(2); /* Scale the image for zoom */
  cursor: zoom-out;
}

.image-container.zoomed {
  overflow: visible; /* Allow zoomed image to overflow */
}

/* Zoom modal styles */
#zoom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  transition: opacity 0.3s ease;
}

#zoom-modal.hidden {
  visibility: hidden;
  opacity: 0;
}

#zoom-modal .zoom-frame {
  position: relative;
  border: 5px solid white;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  max-width: 90%;
  max-height: 90%;
}

#zoom-modal .zoomed-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

#zoom-modal .zoom-frame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /*border: 3px solid #FFD700; !* Gold frame border *!*/
  border-radius: 10px;
  pointer-events: none;
}


/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

