/* ============================================================
   HOME — Styles spécifiques page d'accueil
   ============================================================ */

/* ── CARROUSEL HERO ── */
#carouselBg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.cslide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.cslide.active {
  opacity: 0.45;
}

/* Flèches navigation hero */
.hero__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(201,169,110,.3);
  color: var(--or);
  width: 48px;
  height: 48px;
  font-size: 1.3rem;
  cursor: pointer;
  transition: all .3s;
  backdrop-filter: blur(4px);
}
.hero__arrow:hover { background: rgba(201,169,110,.25); }
.hero__arrow--prev { left: 2rem; }
.hero__arrow--next { right: 2rem; }

/* Dots navigation */
.hero__dots {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: flex;
  gap: .5rem;
}
.hero__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(250,249,246,.35);
  border: none;
  cursor: pointer;
  transition: all .3s;
  padding: 0;
}
.hero__dot.active {
  background: var(--or);
  width: 24px;
  border-radius: 4px;
}

@media (max-width: 600px) {
  .hero__arrow { display: none; }
}

/* Page hero générique */
.page-hero {
  padding: 9rem 0 5rem;
  margin-top: 76px;
}
.page-hero--dark   { background: var(--noir); }
.page-hero--beige  { background: var(--beige); }
.page-hero--blanc  { background: var(--blanc); }

.page-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 300;
  color: var(--blanc);
  margin-top: 1rem;
  line-height: 1.1;
}
.page-hero--beige .page-hero__title { color: var(--noir); }
.page-hero--blanc .page-hero__title { color: var(--noir); }

.page-hero__sub {
  font-size: 1rem;
  color: rgba(250,249,246,.5);
  margin-top: 1rem;
  max-width: 500px;
}
.page-hero--beige .page-hero__sub,
.page-hero--blanc .page-hero__sub {
  color: var(--gris);
}

/* ── SECTEURS ── */
.secteurs-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: rgba(201,169,110,.12);
}
.secteur-card {
  background: var(--noir);
  padding: 2.8rem 1.8rem;
  text-align: center;
  border-bottom: 2px solid transparent;
  transition: all 0.35s;
  cursor: default;
}
.secteur-card:hover {
  background: #111;
  border-bottom-color: var(--or);
}
.secteur-card__ico { font-size: 2.5rem; margin-bottom: 1.2rem; display: block; }
.secteur-card__name {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  color: var(--blanc);
  margin-bottom: 0.7rem;
  transition: color 0.3s;
}
.secteur-card__text {
  font-size: 0.8rem;
  color: rgba(250,249,246,.4);
  line-height: 1.65;
}

/* Marchés */
.marches-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--gris-clair);
}
.marche-block {
  background: var(--blanc);
  padding: 3.5rem 3rem;
  position: relative;
}
.marche-block::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--or);
}
.marche-block__flag { font-size: 2.5rem; margin-bottom: 1.3rem; display: block; }
.marche-block__name {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  font-weight: 300;
  margin-bottom: 1rem;
}
.marche-block__list { margin-top: 1.4rem; }
.marche-block__list li {
  font-size: 0.82rem;
  color: var(--gris);
  padding: 0.42rem 0;
  border-bottom: 1px solid rgba(0,0,0,.07);
}
.marche-block__list li::before { content: '→ '; color: var(--or); }
.marche-block__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.5rem; }

/* Produits CPT grid */
.produits-cpt-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--gris-clair);
}
.produit-cpt-card { background: var(--blanc); overflow: hidden; transition: transform 0.3s; }
.produit-cpt-card:hover { transform: translateY(-4px); }
.produit-cpt-card__img { aspect-ratio: 1; overflow: hidden; }
.produit-cpt-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.produit-cpt-card:hover .produit-cpt-card__img img { transform: scale(1.05); }
.produit-cpt-card__body { padding: 1.5rem; }
.produit-cpt-card__cat { font-size: 0.62rem; letter-spacing: 0.35em; text-transform: uppercase; color: var(--or); }
.produit-cpt-card__name { font-family: var(--font-serif); font-size: 1.3rem; margin: 0.5rem 0; }
.produit-cpt-card__excerpt { font-size: 0.8rem; color: var(--gris); }

/* CTA final */
.cta-final { text-align: center; }

/* Responsive */
@media (max-width: 900px) {
  .secteurs-grid { grid-template-columns: repeat(2, 1fr); }
  .marches-grid  { grid-template-columns: 1fr; }
  .produits-cpt-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .secteurs-grid { grid-template-columns: 1fr; }
  .produits-cpt-grid { grid-template-columns: 1fr; }
}