html {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.contenuto-principale-pagina {
    flex-grow: 1;
}

body, .navbar-item, .button {
    font-family: 'Quicksand', sans-serif;
}

.navbar {
  padding: 20px 20px 0 20px;
}

.logo {
  max-height: 150px !important;
  width: auto;
}

@media screen and (max-width: 1023px) {
    .logo {
      max-height: 100px !important;
    }
}

.navbar-item-custom {
    font-size: 1.4rem; /* Aumentata leggermente la dimensione */
    color: #30336c; /*#17a1a1*/
    font-weight: bold;
    padding: 1rem 2rem;
    align-items: center; /* Assicura allineamento verticale icona e testo */
}

.navbar .navbar-burger span {
    background-color: #30336c; /*#17a1a1*/
}
.custom-site-footer {
  background-color: #476283; /* Un grigio/blu scuro - Scegli il colore esatto che preferisci! */
  padding-top: 2.5rem;      /* Spaziatura verticale interna al footer */
  padding-bottom: 2.5rem;   /* La classe 'footer' di Bulma ha già padding, questo lo personalizza */
}

.custom-site-footer .content p {
  margin-bottom: 0.5rem; /* Riduce un po' il margine standard del paragrafo se necessario */
}

.custom-site-footer .content a {
  color: #FFFFFF; /* Colore bianco per i link */
  font-size: 1.1rem; /* Leggermente più piccolo del testo normale */
  font-weight: 500; /* Un peso medio per buona leggibilità */
  padding-left: 0.75em;  /* Un po' di spazio a sinistra del link */
  padding-right: 0.75em; /* Un po' di spazio a destra del link */
  text-decoration: none; /* Rimuove la sottolineatura standard */
}

.custom-site-footer .content a:hover {
  color: #E0E0E0; /* Un bianco leggermente più spento per l'hover */
  text-decoration: underline; /* Aggiunge sottolineatura al passaggio del mouse */
}

.custom-site-footer .footer-link-separator {
  color: #A0AEC0; /* Colore per il separatore "|" - un grigio chiaro */
  margin-left: 0.25em;
  margin-right: 0.25em;
  font-size: 1.1rem;
}

/* Stile per il testo del copyright */
.custom-site-footer .has-text-white.is-size-7 {
    color: #cccccc !important; /* Un grigio chiaro per il copyright, !important per sovrascrivere Bulma se necessario */
}

/* Stili per il dropdown utente nell'header */
.navbar-item.has-dropdown.is-hoverable > .navbar-link.navbar-item-custom {
    color: #30336c; /*#17a1a1*/ /* Colore del testo e icona principale */
}

/* Colore della freccia del dropdown */
.navbar-item.has-dropdown.is-hoverable > .navbar-link.navbar-item-custom::after {
    border-color: #30336c; /*#17a1a1*/ /* Stesso colore del testo */
}

/* Stili per le voci nel dropdown */
.navbar-dropdown .navbar-item {
    font-size: 1.15rem; /* Dimensione leggermente aumentata per le voci del dropdown */
    align-items: center; /* Assicura allineamento verticale icona e testo */
}

/* Colore specifico per il link "Area Utente" nel dropdown (testo e icona) */
.navbar-dropdown a.navbar-item[href*="/area_utente/view"] {
    color: #30336c; /*#17a1a1*/
}
.navbar-dropdown a.navbar-item[href*="/area_utente/view"] .icon {
    color: #30336c; /*#17a1a1*/ /* Assicura che anche l'icona prenda il colore */
}

/* Colore specifico per il link "Area Admin" nel dropdown (testo e icona) */
.navbar-dropdown a.navbar-item[href*="/area_admin/view"] {
    color: #30336c; /*#17a1a1*/
}
.navbar-dropdown a.navbar-item[href*="/area_admin/view"] .icon {
    color: #30336c; /*#17a1a1*/ /* Assicura che anche l'icona prenda il colore */
}

/* Stile per il link "Logout" (il colore rosso è già dato da .has-text-danger) */
/* Se vuoi che l'icona del logout erediti il colore rosso: */
.navbar-dropdown a.navbar-item#logoutButtonHeaderDropdown.has-text-danger .icon {
    color: inherit; /* Eredita il colore rosso dal genitore <a> */
}

.msgPanel
{
    display : none;
    position : fixed !important;
    /* Impostazioni per mobile (default) */
    width : 90%; /* Occupa il 90% della larghezza dello schermo */
    max-width : 500px; /* Un limite massimo ragionevole anche per tablet */
    left: 50%;
    transform: translateX(-50%); /* Centra orizzontalmente */
    right: auto; /* Sovrascrive il 'right' precedente se c'era */
    top: 3% !important;
    z-index : 1001 !important;
    font-weight: bold;
    padding: 1rem; /* Aggiunge spazio interno per il testo */
    box-sizing: border-box; /* Assicura che il padding sia incluso nella larghezza totale */
    text-align: center; /* Centra il testo se il messaggio è breve */
}

/* Media query per schermi più piccoli (mobile e tablet) */
@media screen and (max-width: 1023px) { /* Bulma usa 1024px come breakpoint navbar, quindi < 1024px */

    /* MOBILE: Nascondi di default il .navbar-dropdown dentro .is-hoverable quando il menu burger è aperto,
       a meno che il .has-dropdown non abbia ANCHE la classe .is-active (aggiunta da JS al tap) */
    .navbar-item.has-dropdown.is-hoverable > .navbar-dropdown {
        display: none !important;
    }
    /* MOBILE: Mostra il .navbar-dropdown SOLO se il suo contenitore .has-dropdown ha ANCHE .is-active */
    .navbar-item.has-dropdown.is-hoverable.is-active > .navbar-dropdown {
        display: block !important;
    }
}

/* Ripristina lo stile per desktop per .msgPanel se vuoi che sia più piccolo e a destra */
@media screen and (min-width: 1024px) { /* Desktop */
    .msgPanel {
        width: auto !important; 
        max-width: 350px !important; 
        left: auto; 
        transform: none; 
        right: 3% !important; 
        text-align: left; 
    }

    /*
      Stile per il link utente su desktop:
      Applica lo sfondo quando il suo sottomenu è visibile (sia per hover che per click).
    */
    .navbar-item.has-dropdown.is-hoverable:hover > .navbar-link.navbar-item-custom,
    .navbar-item.has-dropdown.is-hoverable.is-active > .navbar-link.navbar-item-custom {
        background-color: #f5f5f5; /* Bulma grey-lighter */
    }
}

.centerTable td, .centerTable th
{
    text-align: center !important; 
    vertical-align: middle;
}

.sectionModal
{
    background-color: white;
    border-radius: 10px;
}

.loaderCustom
{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: gray;
    opacity: 0.8;
    z-index: 9999;
    display: none;
}

.loaderFullpage
{
  position: fixed;
  top: 0;
  left: 0;
}

.lds-roller {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    top: 50%;
    left: 50%;
  }
  .lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
  }
  .lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    margin: -4px 0 0 -4px;
  }
  .lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
  }
  .lds-roller div:nth-child(1):after {
    top: 63px;
    left: 63px;
  }
  .lds-roller div:nth-child(2) {
    animation-delay: -0.072s;
  }
  .lds-roller div:nth-child(2):after {
    top: 68px;
    left: 56px;
  }
  .lds-roller div:nth-child(3) {
    animation-delay: -0.108s;
  }
  .lds-roller div:nth-child(3):after {
    top: 71px;
    left: 48px;
  }
  .lds-roller div:nth-child(4) {
    animation-delay: -0.144s;
  }
  .lds-roller div:nth-child(4):after {
    top: 72px;
    left: 40px;
  }
  .lds-roller div:nth-child(5) {
    animation-delay: -0.18s;
  }
  .lds-roller div:nth-child(5):after {
    top: 71px;
    left: 32px;
  }
  .lds-roller div:nth-child(6) {
    animation-delay: -0.216s;
  }
  .lds-roller div:nth-child(6):after {
    top: 68px;
    left: 24px;
  }
  .lds-roller div:nth-child(7) {
    animation-delay: -0.252s;
  }
  .lds-roller div:nth-child(7):after {
    top: 63px;
    left: 17px;
  }
  .lds-roller div:nth-child(8) {
    animation-delay: -0.288s;
  }
  .lds-roller div:nth-child(8):after {
    top: 56px;
    left: 12px;
  }
  @keyframes lds-roller {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
    
  .boxWrapper {
    display: flex;
    justify-content: center; /* Centra orizzontalmente */
    align-items: center;     /* Centra verticalmente */
    margin-top: 50px;
    padding: 15px;
  }

  .boxWrapperCentered {
    display: flex;
    justify-content: center; /* Centra orizzontalmente */
    align-items: center;     /* Centra verticalmente */
    min-height: 100vh;          /* Imposta l'altezza del contenitore al 100% dell'viewport */
    padding: 15px;
  }

  .modalAlmostCenter {
    top: 40%;
    transform: translate(0, -40%);
  }

    .name-label {
        display: inline-block; /* Per permettere padding e margini */
        background-color: #FF69B4; /* Rosa acceso (HotPink). Sostituisci con il tuo HEX esatto! */
        color: white;
        font-weight: bold;
        font-family: sans-serif; /* O il font che preferisci */
        font-size: 0.9em;      /* Regola la dimensione del font */
        padding: 8px 20px;     /* Padding interno per l'etichetta */
        border-radius: 20px;   /* Angoli molto arrotondati per effetto "pillola" */
        text-transform: uppercase;
        
        /* Posizionamento dell'etichetta: sopra e leggermente sovrapposta all'input */
        position: relative; /* O absolute se .control è relative */
        z-index: 1;
        top: 0px; /* Sposta l'etichetta verso il basso per sovrapporsi. Regola questo valore! */
                   /* Un valore positivo la sposta in basso, facendola "entrare" nell'input.
                      Potresti volerla anche spostare leggermente a sinistra o destra se non è centrata bene. */
        margin-bottom: -10px; /* Tira su l'input sottostante per ridurre lo spazio, se necessario.
                                 Questo dipende da come vuoi la sovrapposizione. */
        /* box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Ombra leggera per l'etichetta se vuoi */
    }

    /* Stile per l'input per aggiungere l'ombra e assicurare che sia sotto l'etichetta */
    .input-nome-fiaba .control input.input {
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombra per l'input */
        border: 1px solid #dbdbdb; /* Bordo leggero se necessario, Bulma lo mette già */
        position: relative; /* Per assicurare che sia nel flusso corretto rispetto all'etichetta */
        z-index: 0;         /* Dietro l'etichetta */
        text-align: center;
        text-transform: uppercase;
        /* Padding superiore per fare spazio all'etichetta se si sovrappone molto */
        /* padding-top: 25px; /* Esempio, da regolare in base alla sovrapposizione dell'etichetta */
    }

    .button-fiaba-style {
        background-color: #FF69B4; /* !! DEVI SOSTITUIRE QUESTO con l'esatto codice HEX del rosa che hai usato per "IL MIO NOME" !! */
        color: white;              /* Testo bianco */
        border-color: transparent; /* Rimuove il bordo di default di Bulma, se presente */
        
        font-weight: bold;
        font-family: sans-serif; /* O lo stesso font della tua etichetta */
        font-size: 1.2em;      /* Simile alla dimensione dell'etichetta, puoi regolarlo */
                               /* Puoi anche usare le classi di dimensione di Bulma (es. is-medium) sull'HTML 
                                  e poi eventualmente sovrascrivere solo il font-size qui se necessario. */
        
        padding: 10px 25px;    /* Padding per il pulsante, rendilo un po' più grande dell'etichetta se preferisci */
        border-radius: 9999px; /* Angoli super arrotondati per un effetto "pillola" completo */
        text-transform: uppercase;
        line-height: 1.5;      /* Standard per i bottoni Bulma, per l'altezza della riga */
        
        cursor: pointer;
        transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Transizioni per effetti hover/focus */
        white-space: normal;
        height: auto; /* Per mantenere la dimensione del pulsante in alto quando si sovrappone l'etichetta */
    }

    .outlined {
        background-color: white; /* !! DEVI SOSTITUIRE QUESTO con l'esatto codice HEX del rosa che hai usato per "IL MIO NOME" !! */
        color: #FF69B4;              /* Testo bianco */
        border-color: #FF69B4; /* Rimuove il bordo di default di Bulma, se presente */
    }

    /* Effetto Hover (quando il mouse è sopra) */
    .button-fiaba-style:hover {
        background-color: #E05A9A; /* !! Un rosa leggermente più scuro per l'hover. Adatta il colore! !! */
        color: white; /* Assicura che il testo resti bianco */
    }

    /* Effetto Focus (quando il pulsante è selezionato, es. con il tasto Tab) - importante per accessibilità */
    .button-fiaba-style:focus {
        background-color: #E05A9A; /* Simile all'hover */
        color: white;
        /* Esempio di "focus ring" con il colore rosa. 
           Prendi il valore RGB del tuo rosa #FF69B4 (che è 255,105,180) e usalo qui con opacità. */
        box-shadow: 0 0 0 0.125em rgba(255, 105, 180, 0.25); 
    }

    /* Effetto Active (quando il pulsante è premuto) */
    .button-fiaba-style:active {
        background-color: #C74F87; /* !! Un rosa ancora più scuro per lo stato attivo. Adatta il colore! !! */
        color: white;
        box-shadow: none; /* Rimuove l'ombra del focus durante il click */
    }

    .custom-cookie-banner {
      position: fixed;
      bottom: 0;
      left: 0; /* Assicura che parta da sinistra */
      width: 100%;
      z-index: 1050; /* Sopra altri elementi */
      margin-bottom: 0;
      border-radius: 0; /* Opzionale: per un banner a tutta larghezza senza angoli arrotondati */
      padding: 1rem 2.5rem 1rem 1.5rem; /* Padding standard di Bulma per notification, ma puoi aggiustarlo */
    }
    
    /* Stili migliorati per il badge del carrello in main.css */

    /* L'icona del carrello diventa il punto di riferimento per il posizionamento del badge.
      #navCarrelloLink è l'<a> che contiene l'icona e il badge.
      > .icon seleziona lo <span> con classe "icon" che è figlio diretto di #navCarrelloLink.
    
    #navCarrelloLink > .icon {
        position: relative; 
        overflow: visible;  
    }
    */

    #navCarrelloLink .cart-text-wrapper {
        position: relative; /* Contesto di posizionamento per il badge */
        display: inline-block; /* Per permettere il posizionamento corretto del badge */
    }

    #carrelloBadge {
        position: absolute;     /* Permette di posizionare il badge precisamente rispetto a .icon. */
        /* Posizionamento: in alto a destra della scritta "Carrello" */
        top: 0;                         /* Allinea la parte superiore del badge con la parte superiore della scritta "Carrello" */
        left: 100%;                     /* Posiziona l'inizio (sinistra) del badge alla fine (destra) della scritta "Carrello" */
        transform: translate(-30%, -55%); /* Sposta il badge:
                                           -30% sull'asse X per farlo sovrapporre meno alla fine della parola "Carrello" (più a destra)
                                           -60% sull'asse Y per spostarlo verso l'alto rispetto alla linea di base del testo.
                                           Questi valori potrebbero necessitare di piccoli aggiustamenti. */

        background-color: #30336c; /*#17a1a1*/ /* Stesso colore del testo "Carrello" */
        color: white;           /* Testo bianco per un buon contrasto. */
        
        font-family: 'Quicksand', sans-serif; /* Assicurati che sia il font principale del tuo sito. */
        font-size: 0.85em;      /* Ridotta la dimensione del font rispetto al testo "Carrello" */
        font-weight: 700;       /* Testo in grassetto per il numero. */
        
        line-height: 1;         /* Aiuta a centrare verticalmente il testo all'interno del badge. */
        border-radius: 50%;     /* Rende il badge perfettamente circolare. */
        
        /* Dimensioni del badge: */
        height: 1.7em;          /* Altezza relativa al nuovo font-size, leggermente aumentata per compensare il font più piccolo */
        min-width: 1.7em;       /* Larghezza minima uguale all'altezza */
        padding: 0.2em 0.5em;   /* Padding aggiustato per la nuova dimensione:
                                  - Verticale (0.2em) per dare un po' di respiro al testo.
                                  - Orizzontale (0.45em) per dare spazio se il numero ha più cifre,
                                    facendo diventare il badge una "pillola". */

        display: flex;          /* Utilizziamo flexbox per centrare facilmente il contenuto (il numero). */
        align-items: center;    /* Allinea il numero verticalmente al centro. */
        justify-content: center;/* Allinea il numero orizzontalmente al centro. */
        
        border: 2px solid white; /* Bordo bianco per staccare dallo sfondo, se necessario. */
        box-shadow: 0 1px 2px rgba(0,0,0,0.2); /* Ombra più discreta */
        
        z-index: 1;             /* Assicura che il badge sia visualizzato sopra l'icona. */
        box-sizing: border-box; /* Fa sì che padding e border siano inclusi nelle dimensioni totali (height/min-width). */

        /* Rimuoviamo eventuali stili ereditati o precedenti che potrebbero interferire */
        margin-left: 0;
        vertical-align: baseline;
    }

    /* La classe 'is-hidden' (da Bulma, applicata via PHP) nasconde il badge se il carrello è vuoto. */
    #carrelloBadge.is-hidden {
        display: none !important; /* !important per assicurare la priorità su altri eventuali stili display. */
    }

    .navbar-burger {
        position: relative;
    }

    /* Stile per il badge sul burger menu, usando l'ID per alta specificità */
    #burgerCarrelloBadge {
        position: absolute;
        top: -8px;  /* Sposta il badge significativamente più in alto, fuori dall'icona */
        left: auto;  /* Assicura che 'left' non interferisca con 'right' */
        right: -8px; /* Sposta il badge significativamente più a destra, fuori dall'icona */
        background-color: #30336c; /*#17a1a1*/ /* Stesso colore del badge carrello */
        color: white;
        font-family: 'Quicksand', sans-serif; /* Stesso font del badge carrello */
        font-weight: 700;       /* Stesso spessore del badge carrello */
        font-size: 0.8rem;     /* Aumentato un po' */
        line-height: 1;         /* Aiuta a centrare il testo verticalmente */
        border-radius: 50%; /* Per renderlo tondo */
        width: 22px;        /* Aumentato */
        height: 22px;       /* Aumentato */
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid white; /* Stesso bordo del badge carrello */
        box-shadow: 0 1px 2px rgba(0,0,0,0.2); /* Stessa ombra del badge carrello */
        box-sizing: border-box; /* Per includere bordo e padding nelle dimensioni */
        z-index: 10;        /* Per assicurarsi che sia sopra le barre del burger */
        pointer-events: none; /* Per non interferire con il click sul burger */
    }

    /* Per nascondere il badge quando non ci sono articoli */
    #burgerCarrelloBadge.is-hidden {
        display: none !important;
    }

    .modal-card-title
    {
      color: #30336c
    }

    #loginModal .modal-card-body button,
    #registrationModal .modal-card-body button
    {
      color: #FFFFFF;
      background-color: #FF69B4;
    }