/* Structure principale */
.sfondo-body {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

html {
  overflow-x: hidden;
  width: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  /* Image par défaut - sera surchargée par les media queries */
  background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Conteneur parent pour header et main avec le background */
.main-background-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  /* Image par défaut - sera surchargée par les media queries */
  background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: scroll;
  min-height: calc(100vh - 0px);
  position: relative;
  width: 100%;
}

/* Assurer que le contenu principal prend tout l'espace disponible */
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
}

/* Overlay retiré pour avoir les mêmes couleurs vives que COOP-CALENDARIO-2025 */

/* Header sans background (utilise celui du wrapper parent) */
.main-header {
  width: 100%;
  padding: 30px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 200px;
}


/* Logo centré dans le header */
.main-header .logo-concorso {
  max-width: 90%;
  max-height: 220px;
  width: auto;
  height: auto;
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  object-fit: contain;
}

/* Logo plus grand sur desktop */
@media (min-width: 992px) {
  .main-header .logo-concorso {
    max-width: 85%;
    max-height: 250px;
  }
}

@media (min-width: 1200px) {
  .main-header .logo-concorso {
    max-width: 85%;
    max-height: 280px;
  }
}

@media (min-width: 1920px) {
  .main-header .logo-concorso {
    max-width: 80%;
    max-height: 320px;
  }
}

/* Tablettes */
@media (min-width: 768px) and (max-width: 991px) {
  .main-header .logo-concorso {
    max-width: 85%;
    max-height: 180px;
  }
}

/* Harmonisation accueil et login */
.help-content {
  color: #000;
}

.login-container {
  max-width: 1000px;
  width: 100%;
  margin: 20px auto;
  background: #fff;
  background-image: url('../img/coop_images/sfondo bianco stelle.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  padding: 20px 0;
  box-sizing: border-box;
  overflow-x: hidden;
}
.home-form-container, .login-form-container {
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
  box-shadow: none;
  background: transparent;
}
/* Supprimer la limitation globale de .form-container */
.form-container {
  box-shadow: none;
  background: transparent;
}

main {
  margin: 0 !important;
  padding: 0 !important;
}

form {
  padding: 0px 0px 0px 0px !important;
}

.swal2-actions .btn {
    margin-right: 0.5em;
    min-width: 110px;
    font-size: 1.1rem;
    padding: 0.5em 1.5em;
}
.swal2-actions .btn:last-child {
    margin-right: 0;
}

.swal2-confirm.swal2-styled {
    background-color: #28a745 !important;
    border: none !important;
    color: #fff !important;
}
.swal2-confirm.swal2-styled:focus,
.swal2-confirm.swal2-styled:hover {
    background-color: #218838 !important;
}

.swal2-popup .swal2-actions .swal2-confirm.swal2-styled {
    background-color: #28a745 !important;
    border: none !important;
    color: #fff !important;
    box-shadow: none !important;
}
.swal2-popup .swal2-actions .swal2-confirm.swal2-styled:focus,
.swal2-popup .swal2-actions .swal2-confirm.swal2-styled:hover {
    background-color: #218838 !important;
}

/* Style commun pour footer logos (desktop et mobile) */
.footer-logos-wrapper,
.footer-logos-swiper {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    border-radius: 1px;
    padding: 10px;
    background: #fff;
}

/* Version desktop spécifique */
.footer-logos-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    padding: 15px 20px;
}

/* Version mobile (carousel) spécifique */
.footer-logos-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-logo-img {
    height: 150px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
}

/* Responsive pour mobile */
@media (max-width: 768px) {
    .footer-logos-wrapper {
        gap: 20px;
        padding: 12px 15px;
    }
    .footer-logo-img {
        height: 100px;
        max-width: 160px;
    }
    
    /* Forcer la disparition de la grille desktop en responsive */
    .footer-logos-wrapper.d-none.d-md-flex {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}

@media (max-width: 576px) {
    .footer-logos-wrapper {
        gap: 15px;
        padding: 10px 12px;
    }
    .footer-logo-img {
        height: 90px;
        max-width: 140px;
    }
    
    /* Forcer la disparition de la grille desktop en responsive */
    .footer-logos-wrapper.d-none.d-md-flex {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}

/* Styles pour le footer */
footer {
  margin-top: 0;
  width: 100%;
  background: #fff;
  padding: 20px 0;
}

footer .txt-info {
  color: #fff;
  font-size: 1rem;
}
footer .txt-info a {
  color: #fff;
  text-decoration: underline;
}
footer .txt-info a:hover {
  color: #ffd700;
}

.footer-collab {
  margin-top: auto;
  width: 100%;
  background: #fff;
}

.gold-flat {
  display: block;
  width: 100%;
  background: linear-gradient(90deg,
    #a97c2f 0%,
    #e7c873 18%,
    #FCE68E 45%,
    #eac14d 65%,
    #a97c2f 82%,
    #7a5a1a 100%
  );
  color: #1a1a1a;
  font-family: 'Montserrat', Arial, sans-serif;
  font-weight: 750;
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-align: center;
  padding: 22px 10px 18px 10px;
  border-radius: 16px;
  box-shadow: 0 4px 16px 0 rgba(183, 140, 43, 0.18);
  margin-bottom: 24px;
  margin-top: 0;
  border: 2px solid #e7c873;
}
.gold-flat {
  box-sizing: border-box;
}
@media (max-width: 600px) {
  .gold-flat {
    margin-left: 6px;
    margin-right: 6px;
    width: calc(100% - 12px); /* 100% moins les marges */
  }
}

.testata {
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.piede {
  max-width: 420px;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

img.img-fluid {
  max-width: 1000px;
  width: 100%;
  height: auto;
}

.card1 {
  background-color: #fff;
  border-radius: 1px;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
  max-width: 1000px;
}

.card2 {
  background-color: #fff;
  border-radius: 1px;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%;
  max-width: 1000px;
}

/* Responsive pour les cartes */
@media (max-width: 768px) {
  .card1, .card2 {
    border-radius: 1px;
  }
}

@media (max-width: 576px) {
  .card1, .card2 {
    border-radius: 1px;
  }
}

/* Alignement parfait label + input */
.form-label {
  text-align: left !important;
  display: block;
  margin-bottom: 0.5rem;
  padding-left: 2px;
}
.input-group, .form-control, .form-select {
  max-width: 400px;
  margin-left: 0 !important;
}
#message.form-control {
  max-width: 100%;
}
#help-form .form-control {
  max-width: 100%;
}

/* Alignement des cases à cocher et texte */
.checkbox-align {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  max-width: 600px;
  margin: 0 auto 0.5rem auto;
}
.checkbox-align label {
  margin-bottom: 0;
  text-align: left;
}

/* Centrage de la checkbox privacy dans help.php */
#help-form .form-check {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  margin: 0 auto;
  max-width: 600px;
}

#help-form .form-check-label {
  text-align: center;
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .input-group, .form-control, .form-select {
    max-width: 100%;
  }
}

@media (max-width: 991.98px) {
  .form-container {
    max-width: 98vw;
  }
  form {
    padding: 20px 20px !important;
  }
}

/* Suppression de la marge top sur le container principal de help.php */
.login-container, .container.help-content {
  color: #000;
}

.login-container {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  border-radius: 0 !important;
}

/* Optionnel : si .col a une marge top, on l'annule aussi dans ce contexte */
#help-form .col,
.login-container .col {
  margin-top: 0 !important;
}

.login-container img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* S'assurer que l'image piede reste collée en bas dans le login-container */
.login-container .piede {
  margin-top: 0;
  margin-bottom: 0;
}

.accordion-button:not(.collapsed) {
  background-color: rgba(56, 166, 104, 0.25) !important;
  color: #212529 !important;
  box-shadow: none;
  border-color: #38A668 !important;
}

input:focus, textarea:focus, select:focus {
  border-color: #018a4a !important;
  box-shadow: 0 0 0 0.2rem rgba(1, 138, 74, 0.15) !important;
  outline: none !important;
}

.registration-form-container {
  max-width: 800px !important;
  width: 100%;
  margin: 0 auto;
  box-shadow: none;
  background: transparent;
}
.registration-form-container .form-control,
.registration-form-container .form-select,
.registration-form-container .input-group {
  max-width: 100%;
}

/* Wrapper pour le formulaire help */
.help-form-wrapper {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}

#help-form {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 600px) {
  .help-form-wrapper {
    padding: 0 6px;
  }
}

#help-form .col-12,
#help-form .col-md-6 {
  padding-left: 8px;
  padding-right: 8px;
}
@media (max-width: 600px) {
  #help-form .col-12,
  #help-form .col-md-6 {
    padding-left: 2px;
    padding-right: 2px;
  }
}

@media (max-width: 600px) {
  .home-form-container .btn {
    margin-left: 6px;
    margin-right: 6px;
    width: calc(100% - 12px);
    box-sizing: border-box;
  }
}

#reset-password-form {
  max-width: 400px;
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}

@media (max-width: 600px) {
  #reset-password-form {
    padding-left: 8px;
    padding-right: 8px;
  }
}

@media (max-width: 474px) {
  .storico-codici-table-wrapper table,
  .storico-codici-table {
    min-width: unset !important;
    font-size: 0.85rem;
  }
  .storico-codici-table-wrapper th,
  .storico-codici-table-wrapper td,
  .storico-codici-table th,
  .storico-codici-table td {
    padding: 0.25rem 0.2rem !important;
    white-space: nowrap;
    font-size: 0.85rem;
  }
  .storico-codici-table-wrapper {
    padding: 0;
    margin: 0;
  }
}

/* Forcer la bordure blanche par défaut pour tous les champs */
.form-control,
.form-select,
input,
select,
textarea {
  border-color: #dee2e6 !important;
  border-width: 1px !important;
  border-style: solid !important;
}

/* Forcer la bordure blanche même avec l'autofill Google */
.form-control:-webkit-autofill,
.form-select:-webkit-autofill,
input:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill {
  border-color: #dee2e6 !important;
  border-width: 1px !important;
  border-style: solid !important;
  -webkit-box-shadow: 0 0 0 30px white inset !important;
  background-color: white !important;
}

/* Supprimer les validations visuelles - tous les champs restent blancs SAUF les mots de passe */
.form-control.is-valid,
.form-select.is-valid,
input.is-valid,
select.is-valid,
textarea.is-valid {
  border-color: #dee2e6 !important; /* Même couleur que les champs normaux */
}

/* Garder les icônes de validation SEULEMENT pour les mots de passe */
#password.is-valid,
#confirm_password.is-valid {
  border-color: #198754 !important; /* Vert pour les mots de passe */
}

/* Champs invalides en rouge */
.form-control.is-invalid,
.form-select.is-invalid,
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
  border-color: #dc3545 !important;
}

/* Scroll automatique vers les messages d'erreur - déjà défini en haut */

/* Mise en évidence des messages d'erreur */
#error-messages {
  scroll-margin-top: 20px;
}

/* Annuler les paddings du container Bootstrap en responsive */
/* Background images responsive pour body et main - Aligné avec COOP-CALENDARIO-2025 */

/* Mobile - Très petits écrans (< 768px) */
@media (max-width: 767.98px) {
  body {
    background-image: url('../img/coop_images/1920px_calendario%20avvento%20tato3.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/1920px_calendario%20avvento%20tato3.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Tablettes en mode paysage (768px - 1023px) */
@media (min-width: 768px) and (max-width: 1023.98px) {
  body {
    background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Tablettes et petits laptops (1024px - 1365px) - 1024x576 */
@media (min-width: 1024px) and (max-width: 1365.98px) {
  body {
    background-image: url('../img/coop_images/1024x576_sfondo%20rosso.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/1024x576_sfondo%20rosso.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Laptops standards (1366px - 1919px) - 1366x768 */
@media (min-width: 1366px) and (max-width: 1919.98px) {
  body {
    background-image: url('../img/coop_images/1366x768_sfondo%20rosso.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/1366x768_sfondo%20rosso.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Desktop larges (1920px - 2559px) - Full HD */
@media (min-width: 1920px) and (max-width: 2559.98px) {
  body {
    background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/1920x1080px_calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Écrans très larges (ultra-wide) - ≥ 2560px */
@media (min-width: 2560px) {
  body {
    background-image: url('../img/coop_images/3440x1440px%20calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
  .main-background-wrapper {
    background-image: url('../img/coop_images/3440x1440px%20calendario%20avvento%20tato.png');
    background-size: cover;
    background-position: center;
    background-attachment: scroll;
  }
}

/* Tablettes en mode portrait et mobiles - Legacy pour compatibilité */
@media (max-width: 767.98px) {
  .main-header {
    padding: 20px 15px;
    min-height: 150px;
  }
  .main-header .logo-concorso {
    max-width: 90%;
    max-height: 140px;
  }
  
  /* Le main-container a la classe "container" de Bootstrap qui ajoute des paddings */
  .main-container.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Annuler aussi les paddings de main-content si présent */
  .main-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }
  
  /* Forcer login-container à 100% de largeur sans marges */
  main .login-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
  }
  
  /* S'assurer que main n'a pas de marges non plus */
  main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }
}

/* Très petits écrans */
@media (max-width: 480px) {
  .main-header .logo-concorso {
    max-width: 92%;
    max-height: 110px;
  }
}

@media (max-width: 360px) {
  .main-header .logo-concorso {
    max-width: 95%;
    max-height: 100px;
  }
}

/* Pour très petits écrans aussi */
@media (max-width: 576px) {
  .main-container.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  main .login-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 600px) {
  main .login-container .btn.btn-lg {
    font-size: 0.9rem !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Bouton REGOLAMENTO responsive - limite la largeur à partir de 600px */
  main .login-container .btn.btn-lg[href*="regolamento"],
  main .login-container a.btn.btn-lg[style*="background-color:#EA5C11"] {
    max-width: calc(100% - 24px) !important;
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-size: 0.95rem !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    display: inline-block !important;
  }
  
  /* Conteneur du bouton REGOLAMENTO - ajustement des marges */
  main .login-container .text-center .mt-3 {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
}

/* Ajustements supplémentaires pour très petits écrans */
@media (max-width: 480px) {
  main .login-container .btn.btn-lg[href*="regolamento"],
  main .login-container a.btn.btn-lg[style*="background-color:#EA5C11"] {
    max-width: calc(100% - 16px) !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 0.85rem !important;
  }
}

@media (max-width: 360px) {
  main .login-container .btn.btn-lg[href*="regolamento"],
  main .login-container a.btn.btn-lg[style*="background-color:#EA5C11"] {
    max-width: calc(100% - 12px) !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 0.8rem !important;
  }
}

@media (max-width: 768px) {
  main .login-container .title-txt {
    font-size: 2rem !important;
  }
}


@media (max-width: 600px) {
  main .login-container .title-txt {
    font-size: 1.75rem !important;
  }
}


@media (max-width: 500px) {
  main .login-container .title-txt {
    font-size: 1.5rem !important;
    margin-bottom: 20px !important;
  }
}

@media (max-width: 320px) {
  main .login-container .title-txt {
    font-size: 1.1rem !important;
    margin-bottom: 10px !important;
  }
}


/* ========================================
   MESSAGE DE DÉFAITE RESPONSIVE
   Augmentation proportionnelle des tailles
   ======================================== */

@media (max-width: 768px) {
  /* Titre "NON HAI VINTO" */
  main .login-container h3[style*="font-size: 30px"] {
    font-size: 28px !important;
    margin-bottom: 12px !important;
  }
  
  /* Paragraphe du message de défaite */
  main .login-container div[style*="background: linear-gradient(135deg, #dc3545"] p[style*="font-size: 16px"] {
    font-size: 16px !important;
  }
}

@media (max-width: 600px) {
  main .login-container h3[style*="font-size: 30px"] {
    font-size: 26px !important;
    margin-bottom: 10px !important;
  }
  
  main .login-container div[style*="background: linear-gradient(135deg, #dc3545"] p[style*="font-size: 16px"] {
    font-size: 15px !important;
  }
}

@media (max-width: 500px) {
  main .login-container h3[style*="font-size: 30px"] {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  main .login-container div[style*="background: linear-gradient(135deg, #dc3545"] p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
  }
}

@media (max-width: 400px) {
  main .login-container h3[style*="font-size: 30px"] {
    font-size: 22px !important;
    margin-bottom: 10px !important;
  }
  
  main .login-container div[style*="background: linear-gradient(135deg, #dc3545"] p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
  }
}

@media (max-width: 320px) {
  main .login-container h3[style*="font-size: 30px"] {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }
  
  main .login-container div[style*="background: linear-gradient(135deg, #dc3545"] p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* ========================================
   MESSAGE DE VICTOIRE RESPONSIVE
   Réduction progressive de toutes les tailles
   ======================================== */

/* Réduction progressive à partir de 768px */
@media (max-width: 768px) {
  /* Titre COMPLIMENTI! */
  main .login-container .complimenti-title,
  main .login-container h2[style*="font-size: 28px"] {
    font-size: 26px !important;
    margin-bottom: 15px !important;
  }
  
  /* Titre HAI VINTO! */
  main .login-container h3[style*="font-size: 28px"] {
    font-size: 26px !important;
    margin-bottom: 12px !important;
  }
  
  /* Titre Prepagata Todis */
  main .login-container h4[style*="font-size: 24px"] {
    font-size: 22px !important;
    margin-bottom: 8px !important;
  }
  
  /* Montant € */
  main .login-container div[style*="font-size: 48px"] {
    font-size: 42px !important;
  }
  
  /* Paragraphes */
  main .login-container p[style*="font-size: 16px"] {
    font-size: 16px !important;
    margin: 12px 0 !important;
  }
  
  main .login-container p[style*="font-size: 14px"] {
    font-size: 14px !important;
    margin: 8px 0 !important;
  }
  
  /* Padding des divs */
  main .login-container div[style*="padding: 30px"] {
    padding: 20px !important;
  }
  
  main .login-container div[style*="padding: 20px"] {
    padding: 15px !important;
  }
  
  /* Titres h5 et h6 */
  main .login-container h5 {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  
  main .login-container h6 {
    font-size: 14px !important;
  }
}

/* À 600px */
@media (max-width: 600px) {
  /* Titre COMPLIMENTI! */
  main .login-container .complimenti-title,
  main .login-container h2[style*="font-size: 28px"] {
    font-size: 24px !important;
    margin-bottom: 12px !important;
  }
  
  /* Titre HAI VINTO! */
  main .login-container h3[style*="font-size: 28px"] {
    font-size: 24px !important;
    margin-bottom: 10px !important;
  }
  
  /* Titre Prepagata Todis */
  main .login-container h4[style*="font-size: 24px"] {
    font-size: 20px !important;
    margin-bottom: 6px !important;
  }
  
  /* Montant € */
  main .login-container div[style*="font-size: 48px"] {
    font-size: 38px !important;
  }
  
  /* Paragraphes - Minimum 0.875rem (14px) comme le footer */
  main .login-container p[style*="font-size: 16px"] {
    font-size: 15px !important;
    margin: 10px 0 !important;
  }
  
  main .login-container p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 6px 0 !important;
  }
  
  /* Padding des divs */
  main .login-container div[style*="padding: 30px"] {
    padding: 15px !important;
  }
  
  main .login-container div[style*="padding: 20px"] {
    padding: 12px !important;
  }
  
  /* Titres h5 et h6 - Minimum footer size pour h6 */
  main .login-container h5 {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }
  
  main .login-container h6 {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* À 500px */
@media (max-width: 500px) {
  /* Titre COMPLIMENTI! */
  main .login-container .complimenti-title,
  main .login-container h2[style*="font-size: 28px"] {
    font-size: 22px !important;
    margin-bottom: 10px !important;
  }
  
  /* Titre HAI VINTO! */
  main .login-container h3[style*="font-size: 28px"] {
    font-size: 22px !important;
    margin-bottom: 8px !important;
  }
  
  /* Titre Prepagata Todis */
  main .login-container h4[style*="font-size: 24px"] {
    font-size: 18px !important;
    margin-bottom: 5px !important;
  }
  
  /* Montant € */
  main .login-container div[style*="font-size: 48px"] {
    font-size: 34px !important;
  }
  
  /* Paragraphes - Minimum 0.875rem (14px) comme le footer */
  main .login-container p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 8px 0 !important;
  }
  
  main .login-container p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 5px 0 !important;
  }
  
  /* Padding des divs */
  main .login-container div[style*="padding: 30px"] {
    padding: 12px !important;
  }
  
  main .login-container div[style*="padding: 20px"] {
    padding: 10px !important;
  }
  
  /* Titres h5 et h6 - Minimum footer size */
  main .login-container h5 {
    font-size: 14px !important; /* Minimum footer size */
    margin-bottom: 8px !important;
  }
  
  main .login-container h6 {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* À 400px */
@media (max-width: 400px) {
  /* Titre COMPLIMENTI! */
  main .login-container .complimenti-title,
  main .login-container h2[style*="font-size: 28px"] {
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }
  
  /* Titre HAI VINTO! */
  main .login-container h3[style*="font-size: 28px"] {
    font-size: 20px !important;
    margin-bottom: 6px !important;
  }
  
  /* Titre Prepagata Todis */
  main .login-container h4[style*="font-size: 24px"] {
    font-size: 16px !important;
    margin-bottom: 4px !important;
  }
  
  /* Montant € */
  main .login-container div[style*="font-size: 48px"] {
    font-size: 30px !important;
  }
  
  /* Paragraphes - Minimum 0.875rem (14px) comme le footer */
  main .login-container p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 6px 0 !important;
  }
  
  main .login-container p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 4px 0 !important;
  }
  
  /* Padding des divs */
  main .login-container div[style*="padding: 30px"] {
    padding: 10px !important;
  }
  
  main .login-container div[style*="padding: 20px"] {
    padding: 8px !important;
  }
  
  /* Titres h5 et h6 - Minimum footer size */
  main .login-container h5 {
    font-size: 14px !important; /* Minimum footer size */
    margin-bottom: 6px !important;
  }
  
  main .login-container h6 {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* Très petits écrans */
@media (max-width: 320px) {
  /* Titre COMPLIMENTI! */
  main .login-container .complimenti-title,
  main .login-container h2[style*="font-size: 28px"] {
    font-size: 18px !important;
    margin-bottom: 6px !important;
  }
  
  /* Titre HAI VINTO! */
  main .login-container h3[style*="font-size: 28px"] {
    font-size: 18px !important;
    margin-bottom: 5px !important;
  }
  
  /* Titre Prepagata Todis */
  main .login-container h4[style*="font-size: 24px"] {
    font-size: 15px !important;
    margin-bottom: 3px !important;
  }
  
  /* Montant € */
  main .login-container div[style*="font-size: 48px"] {
    font-size: 26px !important;
  }
  
  /* Paragraphes - Minimum 0.875rem (14px) comme le footer */
  main .login-container p[style*="font-size: 16px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 5px 0 !important;
  }
  
  main .login-container p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
    margin: 3px 0 !important;
  }
  
  /* Padding des divs */
  main .login-container div[style*="padding: 30px"] {
    padding: 8px !important;
  }
  
  main .login-container div[style*="padding: 20px"] {
    padding: 6px !important;
  }
  
  /* Titres h5 et h6 - Minimum footer size */
  main .login-container h5 {
    font-size: 14px !important; /* Minimum footer size */
    margin-bottom: 5px !important;
  }
  
  main .login-container h6 {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* ========================================
   AJUSTEMENTS SPÉCIFIQUES MESSAGE DE VICTOIRE
   ======================================== */

/* Réduire la taille des paragraphes "Dettagli del premio" en responsive - Minimum footer size */
@media (max-width: 768px) {
  /* Paragraphes dans la section Dettagli del premio */
  main .login-container div[style*="background: #f8f9fa"] p {
    font-size: 15px !important;
  }
}

@media (max-width: 600px) {
  main .login-container div[style*="background: #f8f9fa"] p {
    font-size: 14px !important; /* Minimum footer size */
  }
}

@media (max-width: 500px) {
  main .login-container div[style*="background: #f8f9fa"] p {
    font-size: 14px !important; /* Minimum footer size */
  }
}

@media (max-width: 400px) {
  main .login-container div[style*="background: #f8f9fa"] p {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* Augmenter la taille des textes sous "Prima email" et "Seconda email" */
@media (max-width: 768px) {
  /* Paragraphes sous Prima email et Seconda email */
  main .login-container div[style*="background: #e7f3ff"] .col-md-6 p[style*="font-size: 14px"] {
    font-size: 16px !important;
  }
  
  /* Ajuster le texte "Importante" pour qu'il soit cohérent */
  main .login-container div[style*="background: #e7f3ff"] small {
    font-size: 15px !important;
  }
}

@media (max-width: 600px) {
  main .login-container div[style*="background: #e7f3ff"] .col-md-6 p[style*="font-size: 14px"] {
    font-size: 15px !important;
  }
  
  main .login-container div[style*="background: #e7f3ff"] small {
    font-size: 14px !important;
  }
}

@media (max-width: 500px) {
  main .login-container div[style*="background: #e7f3ff"] .col-md-6 p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
  }
  
  main .login-container div[style*="background: #e7f3ff"] small {
    font-size: 14px !important; /* Minimum footer size */
  }
}

@media (max-width: 400px) {
  main .login-container div[style*="background: #e7f3ff"] .col-md-6 p[style*="font-size: 14px"] {
    font-size: 14px !important; /* Minimum footer size */
  }
  
  main .login-container div[style*="background: #e7f3ff"] small {
    font-size: 14px !important; /* Minimum footer size */
  }
}

/* Style pour le bouton PARTECIPA avec image bottone1.png */
#submitBtn {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  transition: all 0.3s ease;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

#submitBtn:hover,
#submitBtn:focus,
#submitBtn:active {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  opacity: 0.95;
  transform: translateY(-2px);
}

#submitBtn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Responsive pour petits écrans */
@media (max-width: 600px) {
  #submitBtn {
    font-size: 0.9rem;
    min-height: 50px;
    padding: 10px 20px;
  }
}

@media (max-width: 480px) {
  #submitBtn {
    font-size: 0.85rem;
    min-height: 45px;
    padding: 8px 16px;
    letter-spacing: 0.3px;
  }
}

@media (max-width: 360px) {
  #submitBtn {
    font-size: 0.75rem;
    min-height: 40px;
    padding: 8px 12px;
    letter-spacing: 0.2px;
  }
}

/* Style pour le bouton PARTECIPA DI NUOVO avec image bottone1.png */
.btn-partecipa-nuovo {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  transition: all 0.3s ease;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 12px 24px;
}

.btn-partecipa-nuovo:hover,
.btn-partecipa-nuovo:focus,
.btn-partecipa-nuovo:active,
.btn-partecipa-nuovo:visited {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  opacity: 0.95;
  transform: translateY(-2px);
  text-decoration: none;
}

/* Responsive pour petits écrans */
@media (max-width: 600px) {
  .btn-partecipa-nuovo {
    font-size: 0.9rem;
    min-height: 50px;
    padding: 10px 20px;
  }
}

@media (max-width: 480px) {
  .btn-partecipa-nuovo {
    font-size: 0.85rem;
    min-height: 45px;
    padding: 8px 16px;
    letter-spacing: 0.3px;
  }
}

@media (max-width: 360px) {
  .btn-partecipa-nuovo {
    font-size: 0.75rem;
    min-height: 40px;
    padding: 8px 12px;
    letter-spacing: 0.2px;
  }
}

/* Style pour le bouton REGOLAMENTO - centrage du texte */
/* Style pour le bouton REGOLAMENTO avec image bottone1.png */
.btn-regolamento,
a.btn-regolamento,
.btn.btn-regolamento {
  background-image: url('../img/coop_images/bottone2.png') !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  border: none !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 60px;
  padding: 12px 24px;
  font-weight: 600;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.btn-regolamento:hover,
.btn-regolamento:focus,
.btn-regolamento:active,
.btn-regolamento:visited,
a.btn-regolamento:hover,
a.btn-regolamento:focus,
a.btn-regolamento:active,
a.btn-regolamento:visited,
.btn.btn-regolamento:hover,
.btn.btn-regolamento:focus,
.btn.btn-regolamento:active,
.btn.btn-regolamento:visited {
  background-image: url('../img/coop_images/bottone2.png') !important;
  background-size: 100% 100% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
  border: none !important;
  color: #ffffff !important;
  opacity: 0.95;
  transform: translateY(-2px);
  text-decoration: none;
}

/* Responsive pour petits écrans */
@media (max-width: 600px) {
  .btn-regolamento {
    font-size: 0.9rem;
    min-height: 50px;
    padding: 10px 20px;
  }
}

@media (max-width: 480px) {
  .btn-regolamento {
    font-size: 0.85rem;
    min-height: 45px;
    padding: 8px 16px;
    letter-spacing: 0.3px;
  }
}

@media (max-width: 360px) {
  .btn-regolamento {
    font-size: 0.75rem;
    min-height: 40px;
    padding: 8px 12px;
    letter-spacing: 0.2px;
  }
}

/* Style pour rendre le bouton REGOLAMENTO plus long sur desktop */
@media (min-width: 768px) {
  .btn-regolamento {
    min-width: 350px;
    padding: 12px 40px;
  }
}

@media (min-width: 992px) {
  .btn-regolamento {
    min-width: 400px;
    padding: 12px 50px;
  }
}

/* Style pour le bouton INVIA avec image bottone1.png */
.btn-invia {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
  transition: all 0.3s ease;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 12px 48px;
  min-width: 200px;
}

.btn-invia:hover,
.btn-invia:focus,
.btn-invia:active {
  background-image: url('../img/coop_images/bottone1.png');
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  color: #ffffff !important;
  opacity: 0.95;
  transform: translateY(-2px);
}

/* Responsive pour petits écrans */
@media (max-width: 600px) {
  .btn-invia {
    font-size: 0.9rem;
    min-height: 50px;
    padding: 10px 32px;
    min-width: 160px;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
  
  /* Centrage du conteneur du bouton dans help.php */
  .help-form-wrapper .col-12.text-center {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .btn-invia {
    font-size: 0.85rem;
    min-height: 45px;
    padding: 8px 24px;
    letter-spacing: 0.3px;
    min-width: 140px;
  }
}

@media (max-width: 360px) {
  .btn-invia {
    font-size: 0.75rem;
    min-height: 40px;
    padding: 8px 20px;
    letter-spacing: 0.2px;
    min-width: 120px;
  }
}