/* =========================================================
   AC Motors Engineering — Home design premium clair
   ========================================================= */

:root {
  --acm-green: #1b3b1c;
  --acm-accent: #bae743;
  --acm-soft: #f6f8f2;
  --acm-soft-2: #eef5df;
  --acm-text: #1b3b1c;
  --acm-muted: rgba(27, 59, 28, .72);
  --acm-border: rgba(27, 59, 28, .12);
  --acm-shadow: 0 18px 50px rgba(27, 59, 28, .10);
  --acm-radius: 26px;
}

/* Base sections */
.acm-home-services,
.acm-home-trust,
.acm-home-gallery,
.acm-home-faq,
.acm-home-final-cta {
  background: #ffffff;
  color: var(--acm-text);
}

/* Espacement global plus premium */
.acm-home-services,
.acm-home-trust,
.acm-home-gallery,
.acm-home-faq {
  padding-top: clamp(48px, 6vw, 82px) !important;
  padding-bottom: clamp(48px, 6vw, 82px) !important;
}

/* Titres de sections */
.acm-home-services .has-large-font-size,
.acm-home-gallery .has-large-font-size,
.acm-home-faq h3.wp-block-heading {
  font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
  color: var(--acm-green) !important;
  margin: 0 !important;
}

.acm-home-services .has-large-font-size::after,
.acm-home-gallery .has-large-font-size::after,
.acm-home-faq h3.wp-block-heading::after {
  content: "";
  display: block;
  width: 72px;
  height: 5px;
  margin-top: 14px;
  border-radius: 999px;
  background: var(--acm-accent);
}

/* =========================================================
   HERO
   ========================================================= */

.acm-home-hero.wp-block-cover {
  min-height: clamp(520px, 72vh, 760px) !important;
  border-radius: 0 0 34px 34px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.acm-home-hero .wp-block-cover__background {
  background: linear-gradient(
    90deg,
    rgba(15, 16, 18, .82) 0%,
    rgba(15, 16, 18, .58) 45%,
    rgba(15, 16, 18, .22) 100%
  ) !important;
  opacity: 1 !important;
}

.acm-home-hero .wp-block-cover__inner-container {
  width: min(1180px, calc(100% - 36px)) !important;
  margin: 0 auto !important;
}

.acm-home-hero .wp-block-group {
  max-width: 760px !important;
}

.acm-home-hero,
.acm-home-hero * {
  color: #ffffff !important;
}

/* Si ton plugin typewriter génère seulement du texte, on lui donne plus d'impact */
.acm-home-hero [class*="typewriter"],
.acm-home-hero .wp-block-group {
  font-size: clamp(2rem, 5vw, 4.8rem) !important;
  line-height: 1.03 !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
  text-shadow: 0 8px 34px rgba(0, 0, 0, .38) !important;
}

/* =========================================================
   SERVICES
   ========================================================= */

.acm-home-services {
  background:
    radial-gradient(circle at 15% 5%, rgba(186, 231, 67, .22), transparent 28%),
    #ffffff !important;
}

/* Colonnes de prestations */
.acm-home-services .wp-block-columns {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
  gap: 18px !important;
}

.acm-home-services .wp-block-column {
  position: relative !important;
  overflow: hidden !important;
  min-height: 230px !important;
  border-radius: var(--acm-radius) !important;
  background: #ffffff !important;
  border: 1px solid var(--acm-border) !important;
  box-shadow: var(--acm-shadow) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

.acm-home-services .wp-block-column:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(27, 59, 28, .22) !important;
  box-shadow: 0 24px 70px rgba(27, 59, 28, .15) !important;
}

.acm-home-services .wp-block-column figure {
  height: 100% !important;
  margin: 0 !important;
  padding: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.acm-home-services .wp-block-column img {
  max-height: 160px !important;
  width: auto !important;
  object-fit: contain !important;
  transition: transform .22s ease !important;
}

.acm-home-services .wp-block-column:hover img {
  transform: scale(1.045) !important;
}

/* Petite pastille décorative sur les cartes */
.acm-home-services .wp-block-column::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -34px;
  width: 100px;
  height: 100px;
  border-radius: 999px;
  background: rgba(186, 231, 67, .32);
}

/* =========================================================
   SECTION CONFIANCE / DESCRIPTION
   ========================================================= */

.acm-home-trust {
  background: var(--acm-soft) !important;
}

.acm-home-trust .wp-block-media-text {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px !important;
  border-radius: 34px !important;
  background: #ffffff !important;
  border: 1px solid var(--acm-border) !important;
  box-shadow: var(--acm-shadow) !important;
  gap: 28px !important;
}

.acm-home-trust .wp-block-media-text__media {
  border-radius: 26px !important;
  overflow: hidden !important;
}

.acm-home-trust .wp-block-media-text__media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 360px !important;
  object-fit: cover !important;
}

.acm-home-trust .wp-block-media-text__content {
  padding: clamp(18px, 3vw, 42px) !important;
}

.acm-home-trust details {
  margin-bottom: 12px !important;
  border: 1px solid var(--acm-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.acm-home-trust summary {
  padding: 16px 18px !important;
  cursor: pointer !important;
  color: var(--acm-green) !important;
  font-weight: 900 !important;
  list-style: none !important;
}

.acm-home-trust summary::-webkit-details-marker {
  display: none;
}

.acm-home-trust summary::after {
  content: "+";
  float: right;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--acm-accent);
  color: var(--acm-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
}

.acm-home-trust details[open] summary::after {
  content: "−";
}

.acm-home-trust details > *:not(summary) {
  padding-left: 18px !important;
  padding-right: 18px !important;
}

.acm-home-trust blockquote {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border-left: none !important;
}

.acm-home-trust p,
.acm-home-trust li {
  color: var(--acm-muted) !important;
  line-height: 1.65 !important;
}

/* =========================================================
   GALERIE
   ========================================================= */

.acm-home-gallery {
  background: #ffffff !important;
}

.acm-home-gallery .wp-block-jetpack-slideshow {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  box-shadow: var(--acm-shadow) !important;
  border: 1px solid var(--acm-border) !important;
}

.acm-home-gallery .wp-block-jetpack-slideshow_image {
  object-fit: cover !important;
}

/* =========================================================
   FAQ
   ========================================================= */

.acm-home-faq {
  background: var(--acm-soft) !important;
}

.acm-home-faq > .wp-block-group,
.acm-home-faq .wp-block-accordion {
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.acm-home-faq .has-medium-font-size {
  color: var(--acm-muted) !important;
  line-height: 1.55 !important;
}

.acm-home-faq .wp-block-accordion {
  display: grid !important;
  gap: 12px !important;
}

.acm-home-faq .wp-block-accordion-item {
  border: 1px solid var(--acm-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(27, 59, 28, .06) !important;
}

.acm-home-faq .wp-block-accordion-heading {
  margin: 0 !important;
}

.acm-home-faq .wp-block-accordion-heading__toggle {
  width: 100% !important;
  padding: 18px 20px !important;
  border: 0 !important;
  background: #ffffff !important;
  color: var(--acm-green) !important;
  font-weight: 900 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.acm-home-faq .wp-block-accordion-heading__toggle-icon {
  color: var(--acm-green) !important;
  background: var(--acm-accent) !important;
  border-radius: 999px !important;
  min-width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.acm-home-faq .wp-block-accordion-panel {
  padding: 0 20px 18px !important;
  color: var(--acm-muted) !important;
}

/* =========================================================
   CTA FINAL
   ========================================================= */

.acm-home-final-cta {
  background:
    linear-gradient(135deg, rgba(27, 59, 28, .96), rgba(27, 59, 28, .88)),
    radial-gradient(circle at 80% 20%, rgba(186, 231, 67, .42), transparent 28%) !important;
  color: #ffffff !important;
  padding-top: clamp(58px, 8vw, 96px) !important;
  padding-bottom: clamp(58px, 8vw, 96px) !important;
}

.acm-home-final-cta .wp-block-columns {
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: center !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .16) !important;
  backdrop-filter: blur(10px) !important;
}

.acm-home-final-cta h2,
.acm-home-final-cta p {
  color: #ffffff !important;
}

.acm-home-final-cta h2 {
  font-size: clamp(2rem, 4vw, 3.4rem) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -0.045em !important;
  margin-bottom: 12px !important;
}

.acm-home-final-cta p {
  color: rgba(255, 255, 255, .78) !important;
  text-align: center !important;
  font-size: 1.05rem !important;
}

.acm-home-final-cta figure,
.acm-home-final-cta img {
  height: 100% !important;
}

.acm-home-final-cta img {
  min-height: 280px !important;
  object-fit: cover !important;
}

.acm-home-final-cta .wp-block-button__link {
  background: var(--acm-accent) !important;
  color: var(--acm-green) !important;
  border-radius: 999px !important;
  padding: 15px 24px !important;
  font-weight: 950 !important;
  box-shadow: 0 14px 34px rgba(186, 231, 67, .28) !important;
  border: 1px solid var(--acm-accent) !important;
  text-decoration: none !important;
  transition: transform .18s ease, filter .18s ease !important;
}

.acm-home-final-cta .wp-block-button__link:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.04) !important;
}

/* Séparateurs plus discrets */
.wp-block-separator {
  max-width: 1100px !important;
  border-color: rgba(27, 59, 28, .10) !important;
}

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

@media (max-width: 900px) {
  .acm-home-services .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .acm-home-services .wp-block-column {
    margin: 0 !important;
  }

  .acm-home-trust .wp-block-media-text {
    display: block !important;
  }

  .acm-home-trust .wp-block-media-text__media img {
    min-height: 260px !important;
  }

  .acm-home-final-cta .wp-block-columns {
    display: block !important;
  }

  .acm-home-final-cta .wp-block-column {
    padding: 24px !important;
  }
}

@media (max-width: 560px) {
  .acm-home-services .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  .acm-home-services .wp-block-column {
    min-height: 190px !important;
  }

  .acm-home-hero.wp-block-cover {
    min-height: 500px !important;
  }

  .acm-home-hero [class*="typewriter"],
  .acm-home-hero .wp-block-group {
    font-size: clamp(1.65rem, 9vw, 3rem) !important;
  }
}
/* =========================================================
   Ajustement section Services
   - suppression bulle verte
   - images en plein cadre
   ========================================================= */

/* Supprime la bulle verte décorative */
.acm-home-services .wp-block-column::after {
  content: none !important;
  display: none !important;
}

/* Les cartes deviennent des cadres image pleine surface */
.acm-home-services .wp-block-column {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  min-height: 260px !important;
}

/* Supprime les marges/paddings WordPress autour des images */
.acm-home-services .wp-block-column figure,
.acm-home-services .wp-block-column .wp-block-image {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* L'image remplit toute la carte */
.acm-home-services .wp-block-column img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  display: block !important;
}
.acm-home-gallery .wp-block-jetpack-slideshow_pagination {
  bottom: 0px !important;
  margin: -10px !important;
  padding: 0 !important;
}
/* =========================================================
   Fix mobile — Section CTA finale rognée à droite
   ========================================================= */

  .acm-home-final-cta .wp-block-columns {
    width: 90% !important;
    max-width: 100% !important;
    margin-left: 5% !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .acm-home-final-cta .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    box-sizing: border-box !important;
  }

  .acm-home-final-cta .wp-block-column[style*="flex-basis"] {
    flex-basis: auto !important;
  }

  .acm-home-final-cta img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
  }

  .acm-home-final-cta .wp-block-button,
  .acm-home-final-cta .wp-block-button__link {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}
body {
  overflow-x: hidden;
}
