/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Description: Thème enfant basé sur Astra
Author: Jean-Pierre
Author URI: https://jean-pierre.joignant.com
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/

/* 
Tu peux ajouter ici tes styles personnalisés 
*/

/* Grille des projets sur la home */
.projets-home-grid {
   display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	padding-left: 3%;
    text-align: left!important;
    font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif !important;
}

.projets-home-grid > * {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}
.projets-home-grid h2 {  
    color: #2B4495;
	font-size: 18px;
   font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif !important;
	text-align: left;
}


/* Tablette */
@media (max-width: 980px) {
    .projets-home-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 600px) {
    .projets-home-grid {
        grid-template-columns: 1fr;
    }
	
	.et-db #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_container, .et-db #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_featured_container {
    width: 100%!important;
    max-width: 1080px;
	}
	
}

/* Nettoyage : on neutralise les classes héritées */
.projets-home-grid .column {
    width: 100%;
    padding: 0;
    margin: 0;
}

.menu-item::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 15px;
    width: 0%;
    height: 2px;
    background: #CCC;
    transform: translateX(-50%);
    transition: width 0.25s ease;
    border-radius: 2px;
	border: 0px dotted #DDD;
	
}

/* Animation au survol */
.menu-item:hover::before {
    width: 100%;
}


/* Bouton principal A&C – compatible Divi */
a.et_pb_button.ac-btn {
  display: inline-block;
  padding: 14px 32px;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #FAFAF8;
  background-color: #2B4495;
  border-radius: 28px;
  text-decoration: none;
  letter-spacing: 0.02em;
  border: none;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Effet courant d’eau */
a.et_pb_button.ac-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(95, 183, 179, 0.25),
    transparent
  );
  transform: translateY(-50%);
  transition: left 0.6s ease;
}

/* Hover */
a.et_pb_button.ac-btn:hover {
  background-color: #243A82;
  color: #FFFFFF;
}

a.et_pb_button.ac-btn:hover::after {
  left: 100%;
}

a.et_pb_button.ac-btn:hover {
  box-shadow: none;
}

/* Grille projets – Home */
.projets-home-grid .et_pb_image_container {
  width: 100%;
  height: 225px;               /* ajuste si besoin */
  overflow: hidden;
  border-radius: 6px;          /* optionnel, élégant */
}

/* Images */
.projets-home-grid .et_pb_image_container img {
  width: 100%;
  height: 100%!important;
  object-fit: cover!important;
  display: block;
}

/* Images */
div.projets-home-grid img { 
  height: 225px!important;
}


.projets-home-grid article {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.projets-home-grid .entry-title {
  margin-top: 16px;
  flex-grow: 1;
}

/* le statut */
.projet-image-wrapper {
  position: relative;
}

.projet-statut {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 20px;
  background: #5FB7B3;
  color: #fff;
  font-weight: 500;
}

.statut-en-cours {
  background: #5FB7B3;
}

.statut-termine {
  background: #67768E;
}

#ficheprojet {
	display: flex;
  flex-direction: column;
	text-align:center;
	  flex-grow: 1;
}

@media (min-width: 922px) {
    .site-content .ast-container {
        display: flex;
        flex-direction: column;
    }
}


.et-db #et-boc .et-l .et_pb_contact p input, .et-db #et-boc .et-l .et_pb_contact p textarea {
	color:black!important;
}

.et-pb-contact-message p {
	font-size:1.5em!important;
	color:blue!important;
}

#et_pb_contact_message_1  {
		color:dark!important;
}

.listesubstack a {
	color:#ff8e5e!important;
}
.listesubstack  {
	font-family:inherit;
  font-size:xx-large!important;
	list-style:none!important;
}

span.feed-source, span.feed-date {
  font-size:medium!important;
}
span.feed-source a {
  color:#4169e1!important;
}

.wpra-item-list   {
	border-left:solid 3px #ff8e5e!important;
	padding-left:10px!important;
}

.boutonnewsletter {
padding: 10px 16px; margin-left: 6px; cursor: pointer;
background-color: #ff8e5e!important;
color:black;
}

.single-projet .et_pb_title_featured_container {
	max-width:100%!important;
	width:100%!important;
	margin-bottom:30px!important;
}

/* Agregator RSS */

/* ==================================================
   Substack feed – Affluents & Confluences
   Option 2 : image à gauche, carte resserrée
   ================================================== */

/* Conteneur global du feed */
.sas-feed {
  max-width: 900px;          /* supprime le vide à droite */
  margin: 0 auto;            /* centre le bloc */
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Carte publication */
.sas-item {
  display: flex;
  gap: 1.6rem;
  padding: 1.4rem 1.6rem;
  background: #ffffff;
  border-radius: 16px;
  border-left: 4px solid #6b8f9c; /* couleur rivière (à ajuster) */
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sas-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.08);
}

/* Vignette */
.sas-thumb {
  flex-shrink: 0;
}

.sas-thumb img {
  width: 260px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}

/* Contenu texte */
.sas-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Titre */
.sas-title {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
}

.sas-title a {
  text-decoration: none;
}

/* Extrait */
.sas-excerpt {
  margin: 0 0 0.5rem;
  font-style: italic;
  color: rgba(0, 0, 0, 0.7);
}

/* Date */
.sas-date {
  font-size: 0.85rem;
  color: rgba(0, 0, 0, 0.55);
}

/* Nettoyage des <p> vides générés par Divi */
.et_pb_text_inner > p:empty {
  display: none;
}

/* ==================================================
   Responsive
   ================================================== */

@media (max-width: 720px) {
  .sas-item {
    flex-direction: column;
    padding: 1.2rem 1.2rem;
  }

  .sas-thumb img {
    width: 100%;
  }

  .sas-content {
    margin-top: 0.4rem;
  }
}

/* ==================================================
   Fix Divi – forcer image à gauche sur desktop
   ================================================== */

@media (min-width: 721px) {

  .sas-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
  }

  .sas-thumb {
    width: auto !important;
    float: none !important;
    flex-shrink: 0;
  }

  .sas-thumb img {
    width: 260px !important;
    max-width: none !important;
    display: block;
  }

  .sas-content {
    width: auto !important;
  }
}