/*#sp-main-body {
    padding: 50px 0 !important;
}*/

/* Espacement entre les boutons de la toolbar Event Booking */
#eb-registrants-management-page #btn-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#eb-registrants-management-page #btn-toolbar joomla-toolbar-button {
  margin: 0 !important;
  padding: 0 !important;
}

/* Espace entre les deux lignes */
#eb-registrants-management-page #toolbar.btn-toolbar {
  gap: 8px !important;
  row-gap: 12px !important;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #FAF7F2 !important;
}

/* Taille fixe du logo sur mobile et tablette */
@media (max-width: 992px) {
  .logo-image-phone {
    height: 35px !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Header vert sur mobile */
@media (max-width: 992px) {
  #sp-header {
    background-color: #2D5A45 !important;
  }

  /* Icône hamburger en blanc */
  .sp-hamburger span,
  .sp-hamburger .hamburger-inner,
  .sp-hamburger .hamburger-inner::before,
  .sp-hamburger .hamburger-inner::after {
    background-color: #ffffff !important;
  }

  /* Logo texte en blanc/crème sur fond vert */
  .logo-image-phone {
    filter: brightness(0) invert(1) !important;
  }
}

/* ================================================
   Formulaire de création de compte - com_users
   ================================================ */

/* Forcer la colonne Bootstrap à pleine largeur */
.com-users.view-registration .col-lg-9,
.com-users.view-registration .col-xl-6,
.com-users.view-registration .col-lg-12 {
    width: 100% !important;
    max-width: 780px !important;
    flex: 0 0 780px !important;
    margin: 0 auto !important;
}

/* Zone du formulaire */
.com-users-registration form {
    background: #f2ede6;
    border-top: 3px solid #b8913a;
    padding: 2rem 2.5rem 2.5rem 2.5rem;
    margin: 0;
}

/* Titre */
.com-users-registration h1 {
    text-align: center;
    font-style: italic;
    font-weight: normal;
    color: #3d5a3e;
    font-size: 1.8rem;
    margin-bottom: 2rem;
}

/* Labels */
.com-users-registration label {
    font-size: 0.72rem !important;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #3d5a3e !important;
    font-weight: normal !important;
}

/* Champs */
.com-users-registration input[type="text"],
.com-users-registration input[type="password"],
.com-users-registration input[type="email"] {
    background: #faf7f3 !important;
    border: 1px solid #ddd6c8 !important;
    border-radius: 0 !important;
    padding: 0.65rem 0.9rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Bouton S'inscrire */
.com-users-registration button[type="submit"],
.com-users-registration .btn-primary {
    background: #3d5a3e !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0.75rem 2.5rem !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    width: auto !important;
}

/* Correction structure input-group mot de passe */
.com-users-registration .password-group .input-group {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    width: 100% !important;
}

.com-users-registration .password-group .input-group input {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    border-right: none !important;
    border-radius: 0 !important;
}

.com-users-registration .password-group .input-group button {
    flex: 0 0 auto !important;
    background: #ddd6c8 !important;
    border: 1px solid #ddd6c8 !important;
    border-left: none !important;
    border-radius: 0 !important;
    padding: 0 0.8rem !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: auto !important;
}

/* Masquer la barre de force du mot de passe */
.com-users-registration meter {
    display: none !important;
}

/* Supprimer l'espace résiduel sous le champ mot de passe */
.com-users-registration .password-group {
    margin-bottom: 0 !important;
}

.com-users-registration .password-group ~ output,
.com-users-registration output {
    display: none !important;
}

/* Titre Création de compte dans le style du site */
.com-users-registration legend {
    font-style: italic;
    font-weight: normal;
    color: #3d5a3e;
    font-size: 1.8rem;
    text-align: center;
    width: 100%;
    margin-bottom: 1.5rem;
    border: none;
}

/* fin formulaire d'inscription */

/* Texte "Champ requis" */
.com-users-registration .required-note,
.com-users-registration .alert {
    font-size: 0.82rem;
    color: #777;
}

#sp-footer {
    font-size: 18px !important;
    padding: 0;
}

#sp-footer, #sp-bottom {
    background: #3c6149 !important;
    color: #fff;
}

/* ================================================
   SP Page Builder — Formulaire de contact
   Style harmonisé avec l'invitation G&P
   ================================================ */

/* Conteneur principal */
.sppb-addon-ajax-contact,
.sppb-ajax-contact-content {
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* Wrapper du formulaire */
.sppb-ajax-contact-content form.sppb-ajaxt-contact-form {
  background: #ffffff !important;
  border: 1px solid #EDE4D4 !important;
  border-top: 3px solid #2D5A45 !important;
  border-radius: 4px !important;
  padding: 2rem 2rem 1.5rem !important;
  box-shadow: none !important;
}

/* Labels — placeholders visibles */
.sppb-ajax-contact-content .sppb-form-control::placeholder {
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #7A7468 !important;
  opacity: 1 !important;
}

/* Champs de saisie */
.sppb-ajax-contact-content .sppb-form-control,
.sppb-form-group .sppb-form-control {
  border: 1px solid #EDE4D4 !important;
  border-radius: 3px !important;
  padding: 0.75rem 1rem !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: #2C2A26 !important;
  background: #FAF7F2 !important;
  box-shadow: none !important;
  background-image: none !important;
  transition: border-color 0.2s !important;
  height: auto !important;
  line-height: 1.5 !important;
}

/* Focus */
.sppb-ajax-contact-content .sppb-form-control:focus,
.sppb-form-group .sppb-form-control:focus {
  border-color: #C9A96E !important;
  background: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Textarea */
.sppb-ajax-contact-content textarea.sppb-form-control {
  min-height: 140px !important;
  resize: vertical !important;
}

/* Espacement entre les champs */
.sppb-ajax-contact-content .sppb-form-group {
  margin-bottom: 1rem !important;
}

/* Bouton Envoyer */
.sppb-ajax-contact-content button[type="submit"],
.sppb-ajax-contact-content input[type="submit"],
.sppb-ajax-contact-content .sppb-btn {
  background: #2D5A45 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 0.85rem 2.5rem !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  margin-top: 0.5rem !important;
}

.sppb-ajax-contact-content button[type="submit"]:hover,
.sppb-ajax-contact-content input[type="submit"]:hover,
.sppb-ajax-contact-content .sppb-btn:hover {
  background: #4A7C62 !important;
}

/* Message de succès */
.sppb-ajax-contact-content .sppb-alert-success {
  background: #E1F5EE !important;
  border: 1px solid #9FE1CB !important;
  border-left: 3px solid #2D5A45 !important;
  border-radius: 0 3px 3px 0 !important;
  color: #085041 !important;
  padding: 1rem 1.25rem !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
}

/* Message d'erreur */
.sppb-ajax-contact-content .sppb-alert-danger {
  background: #FCEBEB !important;
  border: 1px solid #F09595 !important;
  border-left: 3px solid #A32D2D !important;
  border-radius: 0 3px 3px 0 !important;
  color: #501313 !important;
  padding: 1rem 1.25rem !important;
  font-family: Arial, sans-serif !important;
  font-size: 15px !important;
}

/* Messages d'erreur validation formulaire */
.formError .formErrorContent {
  background: #2D5A45 !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  padding: 6px 12px !important;
  border-radius: 3px !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  min-width: 140px !important;
}

/* Flèche du message d'erreur */
.formError .formErrorArrow div {
  background: #2D5A45 !important;
}

/* Titre des albums Ignite Gallery */
h2.igallery_title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 300 !important;
  color: #2D5A45 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  font-style: italic !important;
  text-align: center !important;
  margin: 1.5rem 0 1rem !important;
}


#sp-header {
    background: #FAF7F2 !important;
}

.itemid-437 div.sppb-addon-raw-html:has(.form-intro) {
  display: none !important;
}

/* Cacher le titre "Inscription confirmée!" généré par Event Booking */
.itemid-437 h1.eb-page-heading {
  display: none !important;
}


/*#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item a,
#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item:hover a,
#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item.current-item.active a,
#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item span {
    color: #C9A96E !important;
    font-size: 18px !important;
    font-weight: 400 !important;
}*/

/* Menu principal horizontal — même style que offcanvas */

/* Liens du menu */
#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item a,
#sp-header #sp-menu .sp-megamenu-wrapper .sp-megamenu-parent .sp-menu-item span {
  color: #2D5A45 !important;
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
}

/* Lien actif */
#sp-header #sp-menu .sp-megamenu-parent .sp-menu-item.active > a,
#sp-header #sp-menu .sp-megamenu-parent .sp-menu-item.current-item > a,
#sp-header #sp-menu .sp-megamenu-parent .sp-menu-item.current > a {
  color: #8B6914 !important;
  font-weight: 500 !important;
}

/* Hover */
#sp-header #sp-menu .sp-megamenu-parent .sp-menu-item a:hover,
#sp-header #sp-menu .sp-megamenu-parent .sp-menu-item span:hover {
  color: #C9A96E !important;
}

/* Fond du panneau offcanvas */
.offcanvas-menu,
.offcanvas-menu .offcanvas-inner {
  background-color: #FAF7F2 !important; /* crème de l'invitation */
}

/* Overlay sombre derrière le menu */
.offcanvas-overlay {
  background-color: rgba(45, 90, 69, 0.5) !important; /* vert semi-transparent */
}

/* Liens du menu */
.offcanvas-menu .offcanvas-inner ul.menu li a,
.offcanvas-menu .offcanvas-inner ul.menu li span,
.offcanvas-menu .offcanvas-inner a {
  color: #2D5A45 !important; /* vert foncé */
  font-family: 'Jost', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
}

/* Lien actif */
.offcanvas-menu .offcanvas-inner ul.menu li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu li.current > a {
  color: #8B6914 !important; /* or foncé */
  font-weight: 500 !important;
}

/* Hover */
.offcanvas-menu .offcanvas-inner ul.menu li a:hover {
  color: #C9A96E !important; /* or clair */
}

/* Bouton fermeture (×) */
.offcanvas-menu .offcanvas-close,
.offcanvas-menu button.close {
  color: #2D5A45 !important;
  opacity: 0.8 !important;
}

/* Icône hamburger dans le header */
.sp-hamburger span,
.sp-hamburger .hamburger-inner,
.sp-hamburger .hamburger-inner::before,
.sp-hamburger .hamburger-inner::after {
  background-color: #2D5A45 !important;
}