/**
 * ==============================================================================
 * STARTHUB - CONFIGURATION CENTRALISÉE DES COULEURS DU THÈME
 * ==============================================================================
 * Ce fichier est l'UNIQUE endroit pour personnaliser les couleurs du site.
 * Modifiez simplement les valeurs ci-dessous et enregistrez : l'ensemble des
 * 23 pages, composants, boutons, icônes et animations s'adapteront instantanément.
 *
 * @version 1.2.0
 * @modified 2026-09-18 18:25:00
 * ==============================================================================
 */

:root,
.tj-light-mode {
  /* ----------------------------------------------------------------------------
   * 1. COULEUR DOMINANTE PRINCIPALE
   * ----------------------------------------------------------------------------
   */
  --tj-color-theme-primary: #b2a376;
  --tj-color-theme-primary-rgb: 178, 163, 118;

  /* ----------------------------------------------------------------------------
   * 2. COULEUR DU TEXTE SUR BOUTONS PRIMAIRES
   * ----------------------------------------------------------------------------
   */
  --tj-color-btn-text: #050505;

  /* ----------------------------------------------------------------------------
   * 3. TYPOGRAPHIES & CONTRASTES
   * ----------------------------------------------------------------------------
   */
  --tj-color-heading-primary: #050505;
  --tj-color-text-body: #494a46;

  /* ----------------------------------------------------------------------------
   * 4. BORDURES & DÉRIVÉES AUTOMATIQUES
   * ----------------------------------------------------------------------------
   */
  --tj-color-border-2: rgba(var(--tj-color-theme-primary-rgb), 0.5);
}

/**
 * ==============================================================================
 * COULEUR DES ÉLÉMENTS DU THÈME (SANS AUCUNE MODIFICATION DE FORME NI DE STRUCTURE)
 * ==============================================================================
 */

/* Flèche blanche dans la pastille sombre du bouton */
.tj-primary-btn .btn-icon i {
  color: #ffffff !important;
}

/* Bordures & halos lumineux dynamiques */
.service-item:hover,
.project-item:hover,
.blog-item:hover {
  border-color: rgba(var(--tj-color-theme-primary-rgb), 0.4) !important;
}

/* Animations de pulsation */
@-webkit-keyframes pulse-border {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0.6);
            box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0.6);
  }
  70% {
    -webkit-box-shadow: 0 0 0 16px rgba(var(--tj-color-theme-primary-rgb), 0);
            box-shadow: 0 0 0 16px rgba(var(--tj-color-theme-primary-rgb), 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0);
            box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0);
  }
}
@keyframes pulse-border {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0.6);
            box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0.6);
  }
  70% {
    -webkit-box-shadow: 0 0 0 16px rgba(var(--tj-color-theme-primary-rgb), 0);
            box-shadow: 0 0 0 16px rgba(var(--tj-color-theme-primary-rgb), 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0);
            box-shadow: 0 0 0 0 rgba(var(--tj-color-theme-primary-rgb), 0);
  }
}

/* Sélections de texte à la couleur primaire */
::selection {
  background-color: var(--tj-color-theme-primary);
  color: var(--tj-color-btn-text);
}
::-moz-selection {
  background-color: var(--tj-color-theme-primary);
  color: var(--tj-color-btn-text);
}

/**
 * ==============================================================================
 * AMÉLIORATION GLOBALE DE LA PRÉSENTATION DES FORMULAIRES DE CONTACT (TOUTES PAGES)
 * ==============================================================================
 */

/* Champs de saisie (inputs, select, textarea) */
.contact-form .form-input input,
.contact-form .form-input textarea,
.contact-form .tj-nice-select-box .nice-select,
.tj-contact-section-2 .form-input input,
.tj-contact-section-2 .form-input textarea,
.tj-contact-section-2 .tj-nice-select-box .nice-select,
#contact-form .form-input input,
#contact-form .form-input textarea,
#contact-form .tj-nice-select-box .nice-select,
#contact-form-2 .form-input input,
#contact-form-2 .form-input textarea,
#contact-form-2 .tj-nice-select-box .nice-select {
  background-color: #ffffff !important;
  border: 1px solid var(--tj-color-border-1) !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  color: var(--tj-color-heading-primary) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.contact-form .form-input input:focus,
.contact-form .form-input textarea:focus,
.contact-form .tj-nice-select-box .nice-select.open,
.tj-contact-section-2 .form-input input:focus,
.tj-contact-section-2 .form-input textarea:focus,
.tj-contact-section-2 .tj-nice-select-box .nice-select.open,
#contact-form .form-input input:focus,
#contact-form .form-input textarea:focus,
#contact-form .tj-nice-select-box .nice-select.open,
#contact-form-2 .form-input input:focus,
#contact-form-2 .form-input textarea:focus,
#contact-form-2 .tj-nice-select-box .nice-select.open {
  border-color: var(--tj-color-theme-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--tj-color-theme-primary-rgb), 0.2) !important;
  outline: none !important;
}

/* Boutons submit des formulaires : conformité stricte avec le design system tj-primary-btn */
.contact-form .submit-btn,
.tj-contact-section-2 .submit-btn,
.contact-form-2 .submit-btn,
#contact-form .submit-btn,
#contact-form-2 .submit-btn,
form .submit-btn {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 10px;
}

.contact-form .submit-btn .tj-primary-btn,
.tj-contact-section-2 .submit-btn .tj-primary-btn,
#contact-form .submit-btn .tj-primary-btn,
#contact-form-2 .submit-btn .tj-primary-btn,
form .submit-btn .tj-primary-btn {
  width: auto !important;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 5px 5px 5px 30px !important;
  min-height: 56px !important;
  height: 56px !important;
  border-radius: 50px !important;
  background-color: var(--tj-color-theme-primary) !important;
  position: relative !important;
  overflow: hidden !important;
  border: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  -webkit-transform: none !important;
  transform: none !important;
}

.contact-form .submit-btn .tj-primary-btn .btn-text,
.tj-contact-section-2 .submit-btn .tj-primary-btn .btn-text,
#contact-form .submit-btn .tj-primary-btn .btn-text,
#contact-form-2 .submit-btn .tj-primary-btn .btn-text,
form .submit-btn .tj-primary-btn .btn-text {
  color: var(--tj-color-heading-primary) !important;
  font-family: var(--tj-ff-heading) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.contact-form .submit-btn .tj-primary-btn .btn-text span,
.tj-contact-section-2 .submit-btn .tj-primary-btn .btn-text span,
#contact-form .submit-btn .tj-primary-btn .btn-text span,
#contact-form-2 .submit-btn .tj-primary-btn .btn-text span,
form .submit-btn .tj-primary-btn .btn-text span {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  color: var(--tj-color-heading-primary) !important;
  line-height: 1.3 !important;
  text-shadow: 0 30px 0 var(--tj-color-common-white) !important;
  -webkit-transform: translateY(0) !important;
  -ms-transform: translateY(0) !important;
  transform: translateY(0) !important;
  -webkit-transition: 0.4s ease-in-out !important;
  transition: 0.4s ease-in-out !important;
}

.contact-form .submit-btn .tj-primary-btn .btn-icon,
.tj-contact-section-2 .submit-btn .tj-primary-btn .btn-icon,
#contact-form .submit-btn .tj-primary-btn .btn-icon,
#contact-form-2 .submit-btn .tj-primary-btn .btn-icon,
form .submit-btn .tj-primary-btn .btn-icon {
  position: static !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 50% !important;
  background-color: transparent !important;
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

.contact-form .submit-btn .tj-primary-btn .btn-icon::before,
.tj-contact-section-2 .submit-btn .tj-primary-btn .btn-icon::before,
#contact-form .submit-btn .tj-primary-btn .btn-icon::before,
#contact-form-2 .submit-btn .tj-primary-btn .btn-icon::before,
form .submit-btn .tj-primary-btn .btn-icon::before {
  content: "" !important;
  display: block !important;
  background-color: #191a18 !important;
  width: 46px !important;
  height: calc(100% - 10px) !important;
  position: absolute !important;
  inset-inline-end: 5px !important;
  top: 5px !important;
  z-index: 1 !important;
  border-radius: 50px !important;
  -webkit-transition: all 0.4s ease-in-out !important;
  transition: all 0.4s ease-in-out !important;
}

.contact-form .submit-btn .tj-primary-btn .btn-icon i,
.tj-contact-section-2 .submit-btn .tj-primary-btn .btn-icon i,
#contact-form .submit-btn .tj-primary-btn .btn-icon i,
#contact-form-2 .submit-btn .tj-primary-btn .btn-icon i,
form .submit-btn .tj-primary-btn .btn-icon i {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1 !important;
  -webkit-transform: rotate(-45deg) !important;
  -ms-transform: rotate(-45deg) !important;
  transform: rotate(-45deg) !important;
  -webkit-transition: -webkit-transform 0.3s ease-in-out !important;
  transition: transform 0.3s ease-in-out !important;
}

/* Hover fidèle et animé identique aux boutons standards */
.contact-form .submit-btn .tj-primary-btn:hover,
.tj-contact-section-2 .submit-btn .tj-primary-btn:hover,
#contact-form .submit-btn .tj-primary-btn:hover,
#contact-form-2 .submit-btn .tj-primary-btn:hover,
form .submit-btn .tj-primary-btn:hover {
  background-color: var(--tj-color-theme-primary) !important;
  -webkit-transform: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.contact-form .submit-btn .tj-primary-btn:hover .btn-icon::before,
.tj-contact-section-2 .submit-btn .tj-primary-btn:hover .btn-icon::before,
#contact-form .submit-btn .tj-primary-btn:hover .btn-icon::before,
#contact-form-2 .submit-btn .tj-primary-btn:hover .btn-icon::before,
form .submit-btn .tj-primary-btn:hover .btn-icon::before {
  width: calc(100% - 10px) !important;
}

.contact-form .submit-btn .tj-primary-btn:hover .btn-text span,
.tj-contact-section-2 .submit-btn .tj-primary-btn:hover .btn-text span,
#contact-form .submit-btn .tj-primary-btn:hover .btn-text span,
#contact-form-2 .submit-btn .tj-primary-btn:hover .btn-text span,
form .submit-btn .tj-primary-btn:hover .btn-text span {
  -webkit-transform: translateY(-30px) !important;
  -ms-transform: translateY(-30px) !important;
  transform: translateY(-30px) !important;
}

.contact-form .submit-btn .tj-primary-btn:hover .btn-icon i,
.tj-contact-section-2 .submit-btn .tj-primary-btn:hover .btn-icon i,
#contact-form .submit-btn .tj-primary-btn:hover .btn-icon i,
#contact-form-2 .submit-btn .tj-primary-btn:hover .btn-icon i,
form .submit-btn .tj-primary-btn:hover .btn-icon i {
  -webkit-transform: rotate(0deg) !important;
  -ms-transform: rotate(0deg) !important;
  transform: rotate(0deg) !important;
}

/* Pastilles d'icônes cliquables des cartes de contact */
.contact-item.style-2 a.contact-icon {
  cursor: pointer !important;
  text-decoration: none !important;
  -webkit-transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}
.contact-item.style-2 a.contact-icon:hover {
  background-color: var(--tj-color-theme-primary) !important;
  border-color: var(--tj-color-theme-primary) !important;
  -webkit-transform: translateY(-4px) scale(1.05) !important;
  -ms-transform: translateY(-4px) scale(1.05) !important;
  transform: translateY(-4px) scale(1.05) !important;
  box-shadow: 0 10px 24px rgba(178, 163, 118, 0.3) !important;
}
.contact-item.style-2 a.contact-icon:hover i {
  color: #191a18 !important;
}

/* Titres et adresses cliquables des cartes de contact */
.contact-item.style-2 .contact-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.contact-item.style-2 p,
.contact-item.style-2 p a,
.contact-item.style-2 .contact-list li a {
  color: var(--tj-color-text-body) !important;
  text-decoration: none !important;
}

.contact-item.style-2 p a:hover,
.contact-item.style-2 .contact-list li a:hover {
  color: var(--tj-color-theme-primary) !important;
}

/* Editorial quotations: alignment requested by the cabinet; preserve template styling. */
.post-details-wrapper blockquote p,
.post-details-wrapper .wp-block-quote p {
  text-align: justify; -webkit-hyphens: auto; hyphens: auto;
  text-justify: inter-word;
  text-align-last: start;
}

/* New KM Legal identity: preserve proportions and the navigation bar height. */
.header-area .site_logo { padding: 10px 0; }
.header-area .site_logo .logo { width: 140px; max-width: 140px; display: block; }
.header-area .site_logo .logo img { display:block; width:140px; height:60px; object-fit:contain; }
.hamburger_logo .mobile_logo { width:140px; max-width:140px; }
.hamburger_logo .mobile_logo img { display:block; width:140px; height:60px; object-fit:contain; }
.footer-logo { width:180px; max-width:100%; }
.footer-logo img { display:block; width:180px; height:auto; }
#loading-icon img { width:52px; height:40px; object-fit:contain; }
@media(max-width:575.98px) {
 .header-area .site_logo { padding:13px 0; }
 .header-area .site_logo .logo { width:126px; max-width:126px; }
 .header-area .site_logo .logo img { width:126px; height:54px; }
}

/* Smaller header logo, keeping the navigation bar height unchanged. */
.header-area .site_logo { padding: 17px 0; }
.header-area .site_logo .logo { width: 108px; max-width: 108px; }
.header-area .site_logo .logo img { width: 108px; height: 46px; object-fit: contain; }
@media(max-width:575.98px) {
 .header-area .site_logo { padding: 19px 0; }
 .header-area .site_logo .logo { width:98px; max-width:98px; }
 .header-area .site_logo .logo img { width:98px; height:42px; }
}

.footer-logo { width:128px; }
.footer-logo img { width:128px; height:auto; }
/* Compact header mark; retain the 80px navigation row. */
.header-area .site_logo { padding:22px 0; }
.header-area .site_logo .logo { width:84px; max-width:84px; }
.header-area .site_logo .logo img { width:84px; height:36px; object-fit:contain; }
@media(max-width:575.98px) {
 .header-area .site_logo { padding:23px 0; }
 .header-area .site_logo .logo { width:79px; max-width:79px; }
 .header-area .site_logo .logo img { width:79px; height:34px; }
}

/* Breathing room between the header edge and the logo. */
.header-area .site_logo { margin-inline-start:12px; }
