/* === 05-components: poems + modali + sidebar + footer + mission + author + utilities === */

/* === SEZIONE POEMI === */
.poem-row{
  background: var(--c-superficie);
  padding: var(--spazio-lg);
  border-radius: var(--bordo-arrotondato);
  box-shadow: var(--ombra-sm);
  border: 1px solid var(--c-bordi);
  display: flex;
  flex-direction: column;
  gap: var(--spazio-md);
  transition: var(--transizione);
  margin-bottom: var(--spazio-md);
  cursor: pointer;
}

.poem-row:hover{
  transform: translateY(-4px);
  box-shadow: var(--ombra);
  border-color: var(--c-primario);
}
.poem-info{flex:1}
.poem-title{font-weight:700;font-size:1.2rem;display:block;margin-bottom:var(--spazio-sm)}
.poem-author{color:var(--c-testo-leggero);font-size:.9rem}
.poem-actions{width:100%;display:flex;justify-content:space-between;align-items:center}
.poem-votes{font-weight:600;color:var(--c-primario)}
.button-vote{background:var(--c-secondario);color:#fff;border:none;padding:.5rem 1rem;border-radius:50px;cursor:pointer;transition:var(--transizione)}
.button-vote:hover{background:var(--c-secondario-hover)}
.star-rating{display:flex;gap:.5rem;margin:1rem 0}
.star{cursor:pointer;font-size:1.5rem;color:var(--c-bordi);transition:var(--transizione)}
.star i.selected{color:var(--c-stelle)}
.star:hover i,.star:hover ~ .star i{color:var(--c-stelle)}

/* MODALI & FORM */
.hidden{display:none !important;opacity:0;visibility:hidden}
.modal-backdrop{
  position:fixed; inset:0; background:rgba(34,34,34,.6);
  display:flex; justify-content:center; align-items:center;
  padding:var(--spazio-md); z-index:2000; overflow-y:auto;
  transition:opacity .3s ease, visibility .3s ease;
}
.modal-backdrop.active{display:flex;opacity:1;visibility:visible}
.modal-content{
  background:var(--c-superficie); padding:var(--spazio-lg);
  border-radius:var(--bordo-arrotondato); box-shadow:var(--ombra);
  width:100%; max-width:600px; margin:2rem auto; position:relative;
}
.modal-close-btn{
  position:absolute; top:10px; right:15px; font-size:2rem;
  color:var(--c-testo-leggero); background:none; border:none; cursor:pointer; line-height:1;
  transition:var(--transizione);
}
.modal-close-btn:hover{color:var(--c-primario)}

.form-group{margin-bottom:var(--spazio-md)}
.form-group label{display:block;margin-bottom:var(--spazio-sm);font-weight:600}
.form-group input,.form-group textarea{
  width:100%; padding:var(--spazio-sm); border:1px solid var(--c-bordi);
  border-radius:var(--bordo-arrotondato); font-family:var(--font-body);
}
.form-group textarea{min-height:150px;resize:vertical}
.form-group-checkbox{display:flex;align-items:center;gap:var(--spazio-sm);margin-bottom:var(--spazio-md)}
.form-group-checkbox input{width:auto}
#form-message,#vote-form-message{margin-top:var(--spazio-md);padding:var(--spazio-sm);border-radius:var(--bordo-arrotondato)}
#form-message.error,#vote-form-message.error{background:rgba(244,67,54,.1);color:var(--c-errore)}
#form-message.success,#vote-form-message.success{background:rgba(76,175,80,.1);color:var(--c-successo)}

/* SIDEBAR */
.sidebar-box{
  background:var(--c-superficie); padding:var(--spazio-lg);
  border-radius:var(--bordo-arrotondato); box-shadow:var(--ombra); margin-bottom:var(--spazio-lg);
}
.sidebar-box h3{margin-bottom:var(--spazio-md);color:var(--c-primario)}
.search-box{position:relative;margin-bottom:var(--spazio-md)}
.search-box input{
  width:100%; padding:var(--spazio-sm) var(--spazio-lg) var(--spazio-sm) var(--spazio-md);
  border:1px solid var(--c-bordi); border-radius:50px;
}
.search-icon{position:absolute;right:var(--spazio-md);top:50%;transform:translateY(-50%);color:var(--c-testo-leggero)}
.filter-options{margin-bottom:var(--spazio-md)}
.filter-options select{padding:var(--spazio-sm); border:1px solid var(--c-bordi); border-radius:var(--bordo-arrotondato)}
.mini-poems-list{display:flex;flex-direction:column;gap:var(--spazio-sm)}
.mini-poem-item{padding:var(--spazio-sm);border-bottom:1px solid var(--c-bordi);cursor:pointer;transition:var(--transizione)}
.mini-poem-item:hover{background:rgba(0,0,0,.03)}
.full-width-btn{width:100%;display:block;text-align:center;margin-top:var(--spazio-md)}
/* share fallback */
.sidebar-box .participate-buttons{display:flex;flex-direction:column;gap:var(--spazio-sm);width:100%;margin-top:var(--spazio-md)}
.sidebar-box .participation-btn{
  width:100%;padding:.75rem 1.5rem;border-radius:50px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--spazio-sm);
  transition:var(--transizione);border:none;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.1)
}
#sidebar-participate-btn{background:linear-gradient(45deg,#1B5E20,#2E7D32,#4CAF50);color:#fff}
#share-cta-btn{background:linear-gradient(45deg,#405DE6,#833AB4,#C13584);color:#fff}
.sidebar-box #share-fallback{margin-top:var(--spazio-md)}
.sidebar-box .share-link-box{display:flex;margin-bottom:var(--spazio-sm)}
#poem-share-link{flex:1;padding:.5rem .75rem;border:1px solid var(--c-bordi);border-right:none;border-radius:4px 0 0 4px}
#copy-link-btn{background:var(--c-primario);color:#fff;border:none;padding:.5rem 1rem;border-radius:0 4px 4px 0;cursor:pointer}

/* FOOTER */
.main-footer{background:var(--c-superficie);padding:var(--spazio-xl) var(--spazio-lg);text-align:center;box-shadow:0 -5px 20px rgba(0,0,0,.05)}
.footer-content{max-width:var(--container-max);margin:0 auto}
.footer-links{display:flex;justify-content:center;gap:var(--spazio-lg);margin:var(--spazio-md) 0}
.footer-links a{color:var(--c-testo-leggero);text-decoration:none;transition:var(--transizione)}
.footer-links a:hover{color:var(--c-primario)}
.footer-social{display:flex;justify-content:center;gap:var(--spazio-lg);margin-top:var(--spazio-md)}
.footer-social a{color:var(--c-testo-leggero);font-size:1.5rem;transition:var(--transizione)}
.footer-social a:hover{color:var(--c-primario)}

/* MISSION CARDS */
.card-section{
  width:100vw;margin-left:calc(-50vw + 50%);background:#fff;
  padding:3rem 1rem;margin-bottom:2rem;box-shadow:0 8px 24px rgba(0,0,0,.04)
}
.card-content{
  max-width:960px;margin:auto;padding:2rem;background:#fdfdfd;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.03);text-align:center;
}
.card-content h2,.card-content h3{color:#2c3e50;margin-bottom:1rem}
.card-content p{line-height:1.7;margin-bottom:1.2rem;color:#333}
.gold-text{color:#FFD700;font-weight:700;text-shadow:0 0 8px rgba(255,215,0,.8)}
.red-text{color:#c62828;font-weight:700;text-shadow:0 0 6px rgba(198,40,40,.6)}
.green-text{color:#2e7d32;font-weight:700;text-shadow:0 0 6px rgba(46,125,50,.5)}

/* AUTHOR */
.author-bio{margin-bottom:var(--spazio-lg)}
.author-bio h3{color:var(--c-primario);margin-bottom:var(--spazio-md)}
.author-bio p{margin-bottom:var(--spazio-xl);line-height:1.8}
.discover-more-author{text-align:center;margin-top:var(--spazio-xl)}
.discover-more-author .button-primary{display:inline-block;width:auto;padding:var(--spazio-md) var(--spazio-lg)}