:root {
    --primary-color: #377af4;
    --button_hov: #2d64c9;
    --text_color_contrast:white;
    --table-free:Grey;
    --generic-color:black;
    --prent-color:blue;
    --ocup-color:red;
    --opt-hov:#DEE3E8;
    --note-color:Grey;
  }
  html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #d3e3ec;
}
.loghh_new{
  width: 73%;
  margin-top: 18px;
  margin-bottom: 5vh;
}
.loghh{
  height: 10vh;
  margin-top: 18px;
}
.logofooter{
  height: 11vh;
  margin-top: -21px;
}
.logindiv{
    text-align: center;
    border: 1px solid var(--primary-color);
    border-radius: 54px;
    margin-top: 1vh;
    margin-bottom: 5vh;
    margin-left: 12vw;
    margin-right: 12vw;
    padding-top: 4vh;
    background: white;
    padding-bottom: 4vh;
}
footer {
  position: absolute;
    bottom: 0;
    width: 100%;} 

.inputstyle{

    border: 1px solid var(--primary-color);
    width: 13rem;

}
.inputbuttonlog{
  color: var(--text_color_contrast);
  background-color: var(--primary-color);
  border-radius: 5px;
  width: 13rem;
  border: 0px solid var(--primary-color);
  margin:1rem;
}
.inputbutton{
  position: relative; /* fondamentale per ancorare il badge */
  color: var(--text_color_contrast);
  background-color: var(--primary-color);
  border-radius: 5px;
  width: 13rem;
  height: 13rem;
  border: 0px solid var(--primary-color);
  margin: 1rem;
}
.inputbutton:hover{
    background-color: var(--button_hov);

}
.inputbuttonlog:hover{
    background-color: var(--button_hov);}
  
  .topnav button {
    color:var(--text_color_contrast);
    padding: 14px 16px;
    text-decoration: none;
    font-size: 17px;
    display: block;
    background: var(--primary-color);
    border: 0px solid var(--primary-color);
  }

.topnav button:hover{
    background-color: var(--button_hov)
}

      @media (max-height: 500px) {
          footer{
            display: none;
          }
      }

.imgbuttonhei{
  height: 5vh;
}

.divspace{
  height: 10vh;

}
label{
  text-align: left;
}

.buttonpas{
  position: absolute;
  border: 0px;
  background: none;
  margin-left: -33px;
}


@media (max-width: 768px) {
  .divspace{
    height: 5vh;
  }
}


  .badge {
    position: absolute;   /* rispetto al bottone */
    top: 8px;            
    right: 8px;          
    background: #ff0a0a;
    color: white;
    border-radius: 50%;   /* lo rende un cerchio */
    font-size: 0.9rem;
    font-weight: bold;
    display: flex;        /* centra il testo */
    align-items: center;
    justify-content: center;
    width: 28px;          /* diametro minimo */
    aspect-ratio: 1 / 1;  /* mantiene il cerchio perfetto */
  }

  .badge_cart{
    position: absolute;
    top: 8px;
    right:-13px;
    background: #ff0a0a;
    color: white;
    border-radius: 6%;
    font-size: 0.9rem;
    font-weight: bold;
    padding-left: 13px;
    display: flex
;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-right: 13px;
  }

  .inputbutton img {
  transition: transform 0.3s ease; /* effetto smooth */
}

.inputbutton:hover img {
  transform: scale(1.05);
  animation: shake 0.3s ease-in-out;
}

@keyframes shake {
  0% { transform: scale(1.05) rotate(0deg); }
  25% { transform: scale(1.05) rotate(5deg); }
  50% { transform: scale(1.05) rotate(-5deg); }
  75% { transform: scale(1.05) rotate(5deg); }
  100% { transform: scale(1.05) rotate(0deg); }
}



.btn-legal {
    color: #6c757d; 
    text-decoration: none;
    font-size: 0.85rem;
    padding: 5px 12px;
    border-radius: 20px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    display: inline-block;
}


.btn-legal:hover {
    color: var(--primary-color); 
    background-color: rgba(0,0,0,0.05); 
    border-color: #e0e0e0;
    text-decoration: none;
    transform: translateY(-2px); 
}

.info-wrapper {
    position: relative;
    display: inline-block;
    cursor: help;
  }

  .info-icon {
    font-size: 0.65rem; 
    vertical-align: super; 
    margin-left: 2px;
    color: #007bff;
  }

  .info-overlay {
    visibility: hidden;
    width: 180px;
    background-color: #222;
    color: #fff;
    text-align: center;
    padding: 8px;
    border-radius: 5px;
    

    position: absolute;
    z-index: 10;
    bottom: 150%; 
    left: 50%;
    transform: translateX(-50%);
    
    opacity: 0;
    transition: opacity 0.2s;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.3;
    pointer-events: none;
  }

  .info-overlay::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #222 transparent transparent transparent;
  }


  .info-wrapper:hover .info-overlay {
    visibility: visible;
    opacity: 1;
  }

#errorlog {
    width: 74%;
    color: #d32f2f;            
    background-color: #fdecea; 
    border: 1px solid #f44336; 
    border-left: 5px solid #d32f2f; 
    padding: 12px 16px;       
    border-radius: 4px;      
    font-size: 0.9rem;
    font-family: sans-serif;
    margin-top: 15px;
    display: flex;            
    align-items: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05); 
}