/*
Theme Name: Astra Enfant
Theme URI: http://example.com/
Description: Thème enfant pour Astra
Author: Ton Nom
Author URI: http://example.com/
Template: astra
Version: 1.0.0
Text Domain: astra-enfant
*/

body {
  margin: 0;
  height: 100%;
}

body, p, li {
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #1A1A1A;
}

h1 { font-size: 2.25rem !important; }
h2 { font-size: 1.75rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }
p, li { font-size: 1rem !important; }

h1 {
  font-family: "Lato";
  font-weight: 500 !important;
  letter-spacing: 5px;
}

h2, h3, nav a {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  letter-spacing: 0.5px;
}

h2, h3 {
  color: #1A1A1A !important;
}

a,
.icon-card,
.site-logo-img a,
.menu-toggle,
.ast-mobile-menu-trigger-minimal {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.entry-content > .wp-block-columns, .entry-content > .wp-block-group {
  padding: 0;
}

.align-center {
  text-align: center;
}

.container-limited {
  max-width: 1200px !important;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.backgroundcolor1 {
  background-color: #EDEDED;
}

.backgroundcolor2 {
  background-color: #1A1A1A;
}

/*Menu nav et bannière*/
.wp-block-cover.alignfull {
  position: relative;
  width: 100%;
  min-height: 500px;
}

.banniere-fullscreen.wp-block-cover {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* Le flou sur toute la bannière */
.banniere-fullscreen.wp-block-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    backdrop-filter: blur(3px);
    z-index: 1;
}

.banniere-fullscreen .wp-block-cover__inner-container {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    width: 100%;
    height: 100%;
}

.banniere-fullscreen h1 {
    margin: 0;
    padding: 0 1rem;
    color: white; 
}

h1, .banniere-logo {
	animation: reveal 3s linear forwards;
}

@keyframes reveal {
	0% {opacity:0;}
	25% {opacity:0.25;}
	50% {opacity:0.5;}
	75% {opacity:0.75;}
	100% {opacity:1;}
}

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  
}

.menu-link {
  color: #E6E6E6;
  font-weight: 600;
  display: inline-block !important;
  position: relative;
  padding: 0 0 2px 0 !important;
  margin: 0 1em;
  text-decoration: none;
  font-size: clamp(15px, 1.2vw, 1.25rem) !important;
}

#primary-site-navigation-desktop .menu-link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: #967B3E;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .25s ease;
}

#primary-site-navigation-desktop .menu-link:hover::after,
#primary-site-navigation-desktop .menu-link:focus::after {
  transform: scaleX(1);
}

#primary-site-navigation-desktop .menu-link:focus,
#primary-site-navigation-desktop .menu-link:active {
  outline: none;
  color: #967B3E;
}

.menu-link:hover {
  color: #967B3E;
}

.current-menu-item .menu-link {
  color: #967B3E;
}

.ast-primary-header-bar {
  position: relative;
  background-color: rgba(0,0,0,0.7);
  backdrop-filter: blur(6px);
}

.wp-block-cover__inner-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  max-width: 800px;
  width: 90%;
}

/*H1*/
.banniere-fullscreen h1 {
  color: #1A1A1A;
  text-align: center;
  font-size: 3.5rem !important;
  line-height: 1.2;
}

/*Text intro*/
.intro-lead {
  text-align: center;
  margin: 50px 0 !important;
  color: #1A1A1A; 
}

.intro-lead, .intro-office, .intro-hono {
  text-align: center;
  margin: 50px 0 !important;
  font-size: 20px !important;
  color: #1A1A1A; 
}

/*H2*/
.sous-titre {
  display: block;
  letter-spacing: 2px;
}

.h2-title {
  padding: 50px 0;
  margin-bottom: 0;
}

.h2-title-home-skills, .h2-title-home-contact {
  padding-top: 110px;
  padding-bottom: 75px;
  margin-bottom: 0 !important;
}

.h2-title-home-actu {
  padding: 5px 0;
  color: #E6E6E6 !important;
}

/*Part profil*/
.bloc-profil {
  padding-top: 25px;
  padding-bottom: 25px;
}

.bloc-profil ul {
  list-style: none;
}

.bloc-profil ul li::before {
  content: "– ";
  margin-right: 6px;
}

.bloc-profil p {
  margin-top: 7px;
}

.columnPhotoProfil {
  display: flex;
}

.photoProfil {
  display: flex;
  justify-content: center;
  align-self: center;
}

.photoProfil img {
  max-height: 650px;
  width: auto;
}

/*List icons law*/
.icon-card {
  text-align: center;
  cursor: pointer;
}

.icon-card p {
  margin-top: 24px;
  color: #DEAC49;
}

.icon-card .logo {
  display: block;
}

.icon-card .logo-hover {
  display: none;
}

.icon-card:hover .logo {
  display: none;
}

.icon-card:hover .logo-hover {
  display: block;
}

.icon-card:hover p {
  color: #967B3E !important;
}

.icon-card.active .logo {
  display: none;
}
.icon-card.active p {
  color: #967B3E !important;
}
.icon-card.active .logo-hover {
  display: block;
}

.icon-card.active p {
  color: #967B3E !important;
}

/*Section accueil liste articles*/
.post-navigation {
  display: none;
}

.bloc-actulist {
  padding-bottom: 5px;
}

.articles-page-articles a,
.homepage-article a {
  color: #808285;
  text-decoration: none !important;
}

.homepage-article h4,
.homepage-article h5 {
  margin-bottom: 0;
  margin-left: 10px;
  color: #EDEDED;
}

.articles-page-articles h2,
.articles-page-articles h3 {
  margin-bottom: 0;
  margin-left: 10px;
  color: #808285 !important;
}

.homepage-article h5 {
  margin-bottom: 10px;
  margin-left: 10px;
  color: #EDEDED !important;
  
}

.homepage-article:hover h4,
.homepage-article:hover h5 {
  color: #808285 !important;
}

.articles-page-articles:hover h2,
.articles-page-articles:hover h3 {
  color: #1A1A1A !important;
}

.insideframe img {
  aspect-ratio: 16/9 !important;
 }

.insideframe:hover img {
 opacity: 0.7;
}

.wplp_container.default .title {
 
  padding-left: 5px;
}

.wplp_container.default .date {
  font-size: 1em !important;
  padding-left: 5px;
  padding-bottom: 5px;
}

/*Section contact*/
.contact-container p {
  font-size: 1.2rem !important;
}


/*List law page skills*/
h3.wp-block-heading.has-text-align-center {
  margin-left: auto;
  margin-right: auto;
}

h2.wp-block-heading.has-text-align-center {
  margin-left: auto;
  margin-right: auto;
}

.ulLaw {
  list-style: none;
  padding-left: 0 !important;
}

/*List icons page skills*/
.anchor-skills {
  height:85px; 
  margin-top:-85px !important;
}

.icons-container, .contact-container {
  display: flex;
  justify-content: space-between;
  padding-bottom: 110px !important;
}

.list-icons-container {
  padding-top: 30px !important;
}

.icon-card {
  cursor: pointer;
  display: inline-block;
  position: relative;
  align-items: center;
}

.icon-card a {
  text-decoration: none !important;
}

.alignicon {
  width: 100%;
}

.alignicon img {
  width: 100px;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.list-icon-law {
  text-align: center;
  cursor: pointer;
}

.list-icon-law h3 {
  word-wrap: break-word;
  margin-top: 0.5em;
  margin-top: 24px;
}

.list-icon-lawfigure {
  margin: 0;
}

.content-display {
  width: 100%;
  overflow: hidden;
  min-height: 500px;
}

.laws-container {
  display: block !important;
  position: relative;
}

.content-card {
  visibility: hidden;
  width: 100%;
  height: 0; 
  overflow: hidden; 
}

.content-card.active {
  visibility: visible; 
  height: auto; 
  overflow: visible; 
}

.laws-container h2 {
  font-weight: 600;
  line-height: 1.3em;
}

/*Page office*/
.office-container {
  margin-bottom: 30px !important;
  gap: 55px;
}

.office-profil-container {
  margin-bottom: 30px !important;
}

.h3-name-office {
  background-color: #DEAC49 !important;
  margin-bottom: 30px;
  padding: 15px 0;
  
  font-weight: 600;
  line-height: 1.3em;
}

/*Page articles*/
.all-articles {
  margin: 50px 0;
}

/*Page article*/
.entry-header h1.entry-title {
  color: #0F0E0E;
  animation: none;
  font-size: 2rem !important;
}

.posted-on .published {
  color: #0F0E0E;
}

.back-to-articles a {
  color: #0F0E0E;
}

.back-to-articles:hover a {
  color: #e6dbd6;
}

.article-plugin img {
  display: block;
  max-width: 70%;
  margin-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
}

.article-plugin h2 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 15px;
  padding-bottom: 30px;
  font-size: 1.75rem !important;
}

.article-plugin h3 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 5px;
  padding-bottom: 15px;
  font-size: 1.50rem !important;
}

.article-plugin p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 15px !important;
}

.article-plugin ul {
  list-style: none;
}

/*Page honoraires*/
.hono-container {
  padding-bottom: 30px;
}

.help-container div, 
.protec-container div {
  margin-top: 0 !important;
}

.help-container {
  padding-bottom: 30px;
}

/*Page contact*/
.page-contact-container {
  gap: 0;
}

.form-row {
  display: flex;
  margin-bottom: 0;
  gap: 10px;
}

.wpcf7 form>div, .wpcf7 form>p, .entry-content p {
  margin-bottom: 0;
}

.h2-coord {
  font-weight: 600;
  line-height: 1.3em;
  padding-top: 30px;
}

.map-container {
  text-align: center;
  padding: 30px 0;
}

.h2-contact {
  font-weight: 600;
  line-height: 1.3em;
  padding-top: 30px;
  padding-left: 30px;
}

.column-datas-contact h3 {
  font-size: 1.2em !important;
  font-weight: 600;
  line-height: 1.2em;
  color: #808285 !important;
}

.column-contact {
  color: #1A1A1A !important;
  background-color: #DEAC49 !important;
}

.column-contact .wpcf7 {
  padding: 0 25% 0 30px;
}

.column-contact label,
.column-contact p {
  color: #4D4D4D;
}

.wpcf7 .wpcf7-submit {
  cursor: pointer;
  color:#E6DBD6;
  background-color: #4D4D4D;
  margin-top: 15px;
}

.wpcf7-response-output {
  border: none !important;
}

.wpcf7 .wpcf7-submit:hover {
  color: #4D4D4D;
  background-color:#E6DBD6;
}

/*Page legals mentions*/
.mentions-container {
  padding-top: 6em !important;
  padding-bottom: 30px !important;
}

.mentions-title {
  animation: none;
}

/*Footer*/
.site-footer {
  background-color: #EDEDED;
  margin-top: auto;
}

.site-primary-footer-wrap {
  padding-top: 15px;
  padding-bottom: 0;
}
  
.site-below-footer-wrap {
  padding-top: 0;
  padding-bottom: 0;
}

.footer-bloc-name {
  display: block;
  text-align: left;
}

.footer-name {
  width: 100%;
  
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  padding: 0.5rem 0;
  margin-bottom: 0.5rem;
  display: inline-block;
}

.site-footer .site-above-footer-wrap.ast-builder-grid-row-3-equal .ast-builder-grid-row {
  grid-template-columns: 20% 1fr 25% !important;
}

.site-footer a {
  font-size: 0.85rem !important;
  color: #4D4D4D;
}

.site-footer a:hover {
  color: #D4B483 !important;
  background-color: transparent !important;
}

.icon-card.active .logo {
  display: none;
}

.icon-card.active .logo-hover {
  display: block;
}

.icon-card.active p {
  color: #967B3E !important;
}

/*Desktop par défaut : 3 colonnes articles*//* ======== GRID ACCUEIL ======== */
.homepage-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.homepage-post-item img { 
  width: 100%;
  height: 175px;
  object-fit: cover;
  object-position: center; 
}

.homepage-post-item h4 {
 
  margin-top: 0.5rem;
}

.homepage-post-item h5 {
  
  margin-top: 0.5rem;
}

/* ======== GRID ACTUALITES ======== */
.my-post-grid {
  display: grid;
  gap: 1.5rem;
}

/* Desktop : 3 colonnes */
@media (min-width: 921px) {
  .homepage-posts-grid, .my-post-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Tablette : 2 colonnes */
@media (min-width: 768px) and (max-width: 920px) {
  .homepage-posts-grid, .my-post-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile : 1 colonne */
@media (max-width: 767px) {
  .homepage-posts-grid ,.my-post-grid { grid-template-columns: 1fr; }
}

.my-post-item img { 
  width: 100%;
  height: 175px;
  object-fit: cover;
  object-position: center; 
}

.my-post-item h2 { 
  font-size: 1.2em !important;
}

.my-post-item h3 { 
  font-size: 1em !important;
}

.my-pagination {
  margin-top: 2rem;
  text-align: center;
}

.my-pagination a {
  margin: 0 0.3rem;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ccc;
  text-decoration: none;
  color: #333;
}

.my-pagination a.current {
  background-color: #0274be;
  color: #fff;
  border-color: #0274be;
}

/* --- Tablette --- */
@media (max-width: 920px) {
  .container {
    padding: 15px;
  }

  #ast-mobile-header .ast-main-header-wrap {
    background-color: #1A1A1A;
  }

  nav ul {
    flex-direction: column;
    gap: 10px;
  }
 
  .site-above-footer-wrap {
    display: none !important;
  }

  .ast-mobile-svg {
    fill: #E6E6E6 !important;
  }

  .main-header-menu a {
    line-height: 2;
  }

  .main-navigation #ast-hf-mobile-menu, .main-navigation #ast-hf-mobile-menu .menu-link {
     background-color: transparent !important;
  }

  .main-navigation #ast-hf-mobile-menu, .main-navigation #ast-hf-mobile-menu li {
    background-color: #808285 !important;
    margin: 0;
  }

  .main-navigation a {
    margin-left: 10px;
  }

  .menu-item.current-menu-item > .menu-link { 
    color: #DEAC49 !important;
  }

  .main-navigation #ast-hf-mobile-menu li:hover {
    background-color: #DEAC49 !important;
  }

  .main-navigation #ast-hf-mobile-menu .menu-link:hover {
    color: #1A1A1A !important;
  }

  .column-datas-contact {
    margin-bottom: 0 !important;
  }

  .map-container {
    padding: 10px 0 !important;
  }

  .wpcf7 .wpcf7-submit {
    margin-bottom: 30px;
  }

  .h2-contact {
    text-align: center;
    padding-left: 0;
  }

  .alignicon img {
    width: 75px;
  }

  .column-contact .wpcf7 {
    padding: 0 10% 0 10%;
  }

  .homepage-article h4 {
    padding-top: 7px;
    font-size: 1.2em !important;
  }

  .homepage-article h5 {
    font-size: 1em !important;
  }

  .homepage-article p {
    padding-bottom: 7px;
  }

  #icons-basis > .wp-block-column {
    flex-basis: auto !important;
    width: auto !important;
    flex: 0 0 17% !important;
    max-width: 17% !important;
  }

  #icons-basis {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
  }
}

/* --- Mobile --- */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }

  .container {
    padding: 10px;
  }

  .site-header,
    .main-header-bar {
      position: sticky;
      top: 0;
      width: 100%;
      z-index: 9999;
    }

  .ast-mobile-menu-trigger-minimal {
    position: relative;
    z-index: 10000;
  }

  .content-card.active {
    z-index: 1;
  }

  img, iframe, video {
    max-width: 100%;
    height: auto;
  }

  .banniere-fullscreen h1 {
    font-size: 3rem !important;
  }

  .col {
    width: 100%;
  }

  .main-header-menu a {
    line-height: 2;
  }

  .bloc-profil {
    margin-bottom: 0 !important;
    padding: 30px;
  }

  .columnPhotoProfil {
    display: block;
  }

  .photo-profil {
    padding-bottom: 30px;
  }
  
  .content-display {
    min-height: 600px;
  }

  .ast-separate-container #primary {
    padding: 0;
  }

  .article-plugin {
    padding-top: 7em !important;
  }

  .entry-header h1.entry-title {
    font-size: 1.5rem !important;
  }

  .article-plugin h2 {
      font-size: 1.25rem !important;
  }

  .icons-container {
    padding-bottom: 75px !important;
  }

  #icons-basis {
    justify-content: space-between;
    gap: 10px;
  }


 #icons-basis .alignicon img {
    width: 60px;
    height: auto;
  }

  #icons-basis > .wp-block-column {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 130px;
    max-height: 220px;
  }

  #icons-basis > .wp-block-column p {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  #icons-basis > .wp-block-column:nth-child(4),
    #icons-basis > .wp-block-column:nth-child(5) {
      flex: 0 0 40%; /* 2 icônes sur la ligne */
      max-width: 40%;
    }

  #icons-basis > .wp-block-column:nth-child(2) {
    margin-left: 20px;
    margin-right: 20px;
  }

  #icons-basis > .wp-block-column:nth-child(4),
    #icons-basis > .wp-block-column:nth-child(5) {
      margin-left: 20px;
      margin-right: 20px;
    }

  #icons-basis {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media (prefers-color-scheme: dark) {
  body {
    background-color: #ffffff !important;
    color: #1A1A1A !important;
  }
}
