.elementor-1791 .elementor-element.elementor-element-f910ff7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-89fd411 *//* ====== LAYOUT GLOBAL ====== */
.layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 22px;
  margin: 20px 0;
}

/* Mobile & tablettes : une seule colonne */
@media (max-width: 959px) {
  .layout {
    grid-template-columns: 1fr;
  }

  aside {
    position: static !important;
  }
}

/* Desktop : aside sticky */
@media (min-width: 960px) {
  aside {
    position: sticky;
    top: 20px;
    align-self: start; /* pour éviter les étirements */
  }
}

/* ====== CARTES ====== */
.card {
  background: #ffffff;
  padding: 22px;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
  margin-bottom: 22px;
}

/* ====== TITRES ====== */
.card h2 {
  margin-top: 0;
  font-size: 22px;
  color: #c21b2b; /* Rouge CGT */
}

/* ====== TEXTE ====== */
.muted {
  color: #6b7280;
  font-size: 15px;
}

/* ====== LISTES ====== */
.card ul {
  margin-left: 20px;
}

/* ====== BOUTONS ====== */
.btn {
  background: #c21b2b;
  color: #ffffff !important;
  padding: 10px 14px;
  text-decoration: none;
  border-radius: 10px;
  font-weight: 600;
  display: inline-block;
  transition: 0.2s ease-in-out;
}

.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.15);
}

/* ===== CONTACT ===== */
.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list li {
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
}
/* ===== LAYOUT ===== */

.container {
  display: flex;
  gap: 20px;
  position: relative;
}

/* Sidebar fixe sur desktop */
aside {
  width: 320px;
  flex-shrink: 0;
  position: sticky;
  top: 20px;
  align-self: flex-start;
  height: fit-content;
}

/* Contenu principal */
main {
  flex: 1;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {

  .container {
    flex-direction: column;
  }

  aside {
    position: static;
    width: 100%;
    margin-top: 20px;
  }
}/* End custom CSS */