/*
 Theme Name:   Chaire VCD – Child
 Theme URI:    https://valeur-et-consommation-durable.univ-tours.fr/
 Description:  Thème enfant pour la Chaire « Valeur et Consommation Durable » basé sur GeneratePress
 Author:       Nooxo - Pascal Passoni
 Author URI:   https://www.nooxo.fr/
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  chaire-vcd-child
*/

/* Pas de @import ici, on charge le parent proprement dans functions.php */

/* Tes styles perso viendront ensuite ici */
/* ================================
   Centre de ressources – Login (shortcode [vcd_login_form])
   + Messages (vcd-login-error / [vcd_access_denied])
   S'appuie sur les Global Colors GeneratePress : --accent, --contrast, --base...
================================ */

.gbp-button--primary, .gbp-button--secondary {
    border-radius: 25px;
}

/* MENU */

.sticky-enabled .main-navigation.is_stuck {
  background: var(--base-3);
  box-shadow: 0 0 4px 0.7px rgba(0, 0, 0,0.14);
}

/* Concertation Citoyenne */

/* Par défaut */
.cc-full{ display:none; }

/* Quand la carte est ouverte */
.cc-card.is-open .cc-full{ display:block; }
.cc-card.is-open .cc-excerpt{ display:none; }

/* Optionnel : un peu de style bouton si besoin */
.cc-toggle{ cursor:pointer; }

.cc-card{
  position: relative;
  padding-left: 56px; /* laisse la place à l’icône */
}

.cc-card::before {
content: "\f12e";
    font-family: dashicons;
    font-size: 30px;
    line-height: 1;
    position: absolute;
    left: 18px;
    top: 30px;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--base-2);
    border-radius: 999px;
    background: var(--prod-bullet, var(--accent-3));
    padding-bottom: 4px;
}

/* =========================
   USP – Concertation citoyenne
   Scope strict: #user-submitted-posts
   ========================= */

#user-submitted-posts{
  margin: 0 auto !important;
}

/* Carte du formulaire */
#user-submitted-posts #usp_form{
  background: var(--base-3);
  border: 4px solid var(--accent-3);
  border-radius: 35px;
  padding: 1.5rem 2rem;
}

/* Fieldsets = blocs de champ */
#user-submitted-posts fieldset{
  border: 0;
  padding: 0;
  margin: 10px 0 1rem !important;
}

/* Labels */
#user-submitted-posts label{
  display: block !important;
  font-weight: 600;
  font-size: .95rem !important;
  margin: 0 0 6px 0 !important;
}

/* Inputs / textarea */
#user-submitted-posts .usp-input,
#user-submitted-posts .usp-textarea{
  width: 100%;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px 12px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
  font-size: 1rem;
}

/* Placeholder un peu plus soft */
#user-submitted-posts .usp-input::placeholder,
#user-submitted-posts .usp-textarea::placeholder{
  opacity: .7;
}

/* Texte long */
#user-submitted-posts .usp-textarea{
  min-height: 180px;
  resize: vertical;
}

/* Focus propre */
#user-submitted-posts .usp-input:focus,
#user-submitted-posts .usp-textarea:focus{
  outline: none;
  border-color: rgba(31,122,107,.55);
  box-shadow: 0 0 0 4px rgba(31,122,107,.12);
}

/* Zone submit */
#user-submitted-posts #usp-submit{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}

/* Bouton envoyer */
#user-submitted-posts .usp-submit{
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 500;
  cursor: pointer;
  background: var(--accent);
  color: var(--base-3);
  transition: transform .08s ease, filter .15s ease;
  font-size: 1rem;
  width: 255px;
  margin: 1rem auto 0;
}

#user-submitted-posts .usp-submit:hover{
  filter: brightness(1.05);
}
#user-submitted-posts .usp-submit:active{
  transform: translateY(1px);
}

/* Message d’erreur (callout) */
#user-submitted-posts .usp-callout-failure{
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 14px;
  background: rgba(180,30,30,.10);
  border: 1px solid rgba(180,30,30,.22);
}

/* Masquage USP (au cas où inline style saute) */
#user-submitted-posts .usp-hidden{
  display: none;
}

/* Petit raffinement : alignement sur mobile */
@media (max-width: 768px){
  #user-submitted-posts #usp_form{
    padding: 16px;
  }
  #user-submitted-posts #usp-submit{
    flex-direction: column;
    align-items: stretch;
  }
  #user-submitted-posts .usp-submit{
    width: 100%;
  }
}



/* (Optionnel) si tu enveloppes le shortcode dans un Container GB : class "vcd-login-wrap" */
.vcd-login-wrap {
  max-width: 560px;
  margin: clamp(24px, 4vw, 56px) auto;
  padding: 0 16px;
}

/* Card */
.vcd-login-form,
.vcd-access-denied {
  background: var(--base-3, #fff);
  color: var(--contrast, #222);
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: clamp(18px, 2.2vw, 28px);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Titre/texte si tu en ajoutes autour */
.vcd-login-form p,
.vcd-access-denied p {
  margin: 0 0 12px;
}

/* Form layout WP (wp_login_form) */
.vcd-login-form form {
  display: grid;
  gap: 14px;
  margin: 0;
}

.vcd-login-form label {
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 6px;
  display: inline-block;
}

.vcd-login-form input[type="text"],
.vcd-login-form input[type="password"] {
  width: 100%;
  background: var(--base-2, #f7f8f9);
  color: var(--contrast, #222);
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 12px;
  padding: 12px 14px;
  line-height: 1.2;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.vcd-login-form input[type="text"]:focus,
.vcd-login-form input[type="password"]:focus {
  outline: none;
  border-color: var(--accent, #1e73be);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent, #1e73be) 25%, transparent);
  background: var(--base-3, #fff);
}

/* Remember */
.vcd-login-form .login-remember {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 4px 0 0;
}
.vcd-login-form .login-remember label {
  margin: 0;
  font-weight: 500;
}

/* Submit */
.vcd-login-form .login-submit {
  margin: .5rem 0 0;
}

.vcd-login-form input[type="submit"],
.vcd-access-denied a.button {
  appearance: none;
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 500;
  font-size: 1rem;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  transition: transform .08s ease, box-shadow .15s ease, filter .15s ease;
  background: var(--accent, #1e73be);
  color: var(--base-3, #fff);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--accent, #1e73be) 28%, transparent);
}

.vcd-login-form input[type="submit"]:hover,
.vcd-access-denied a.button:hover {
  filter: brightness(1.05);
}

.vcd-login-form input[type="submit"]:active,
.vcd-access-denied a.button:active {
  transform: translateY(1px);
}

#rememberme {
  margin-right: 5px;
}

.vcd-login-links {
  text-align: center;
}

.button.vcd-logout {
  border-radius: 25px;
  width: 250px;
}

/* Liens (mot de passe oublié, etc.) */
.vcd-login-links {
  margin-top: 1rem !important;
  font-size: 0.867rem;
}
.vcd-login-links a {
  color: var(--accent, #1e73be);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Message d'erreur login */
.vcd-login-error {
  border-radius: 12px;
  padding: 12px 14px;
  margin: 0 0 6px;
  border: 1px solid rgba(200,0,0,.18);
  background: rgba(200,0,0,.06);
  color: var(--contrast, #222);
  
}

/* Message d'alerte login */
.vcd-login-alerte {
  padding: 12px 0;
  margin: 0 0 6px;
  color: var(--accent-2, #222);
}

/* Message accès refusé */
.vcd-access-denied {
  display: grid;
  gap: 10px;
}
.vcd-access-denied p strong {
  display: inline-block;
  margin-bottom: 2px;
}
.members-login-notice.members-login-error {
  display: none;
}
/* Mobile */
@media (max-width: 480px) {
  .vcd-login-form,
  .vcd-access-denied {
    border-radius: 14px;
    padding: 16px;
  }
}
