/*
 * annonces — page-specific styles for /landing/annonces
 * Shared components use lp-* classes from marketing-proxy.css.
 */

/* Accent override */
.an-page {
  --lp-accent: #EA93A3;
  --lp-accent-glow: rgba(234,147,163,.24);
  --lp-accent-border: #F2C4CD;
}

/* ---------- Hero floating cards ---------- */
:root {
  --fc-white: #FFFFFF;
  --fc-text: #0F172A;
  --fc-text-muted: #64748B;
  --fc-green: #16A34A;
  --fc-star: #FBBF24;
  --fc-radius: 18px;
  --fc-shadow: 0 1px 2px rgba(16,24,40,.06), 0 12px 28px rgba(16,24,40,.14), 0 28px 60px rgba(16,24,40,.10);
}
.an-hero__visual { position: relative; width: 100%; max-width: 440px; height: 400px; margin: 0 auto; }
.floating-card {
  position: absolute; width: 200px;
  background: var(--fc-white); border-radius: var(--fc-radius);
  box-shadow: var(--fc-shadow); overflow: hidden;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--fc-text); will-change: transform;
  transform: rotate(var(--rotate, 0deg));
  animation: fc-float 9s ease-in-out infinite;
}
.floating-card:nth-child(1) { top: 0;    left: 0;   --rotate: -4deg; z-index: 1; animation-delay: 0s; }
.floating-card:nth-child(2) { top: 24px; left: 50%; margin-left: -100px; --rotate: 1deg; z-index: 3; animation-delay: 3s; }
.floating-card:nth-child(3) { top: 48px; right: 0;  --rotate: 4deg; z-index: 2; animation-delay: 6s; }
.floating-card__photo { position: relative; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #E5E7EB; }
.floating-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.floating-card__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%); pointer-events: none; }
.floating-card__stars { position: absolute; top: 10px; left: 12px; display: flex; gap: 2px; z-index: 1; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
.floating-card__stars svg { width: 14px; height: 14px; fill: var(--fc-star); }
.floating-card__identity { position: absolute; left: 14px; bottom: 12px; right: 14px; z-index: 1; color: var(--fc-white); line-height: 1.15; }
.floating-card__name { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.01em; text-shadow: 0 1px 4px rgba(0,0,0,.45); }
.floating-card__role { font-size: .7rem; font-weight: 500; margin-top: 2px; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.floating-card__body { padding: 10px 12px 12px; font-size: .7rem; line-height: 1.4; }
.floating-card__row { display: flex; align-items: center; gap: 6px; color: var(--fc-text); margin-bottom: 4px; }
.floating-card__row svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--fc-text-muted); }
.floating-card__row--status .fc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fc-green); flex-shrink: 0; }
.floating-card__desc { margin-top: 8px; font-size: .62rem; line-height: 1.5; color: var(--fc-text-muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
@keyframes fc-float {
  0%, 100% { transform: rotate(var(--rotate, 0deg)) translateY(0); }
  50%      { transform: rotate(var(--rotate, 0deg)) translateY(-5px); }
}
@media (prefers-reduced-motion: reduce) { .floating-card { animation: none !important; } }

/* ---------- Community ---------- */
.an-community { text-align: center; }
.an-community .lp-chips { justify-content: center; }

/* ---------- Reviews ---------- */
.an-reviews-head { text-align: center; }
.an-reviews { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; margin-top: 44px; }
.an-review {
  background: #FFF; border-radius: 18px; padding: 26px 24px;
  border: 1px solid #E3EDF5; box-shadow: 0 6px 22px rgba(16,24,40,.08);
  display: flex; flex-direction: column; gap: 12px;
}
.an-review__stars { color: #FBBF24; font-size: 16px; letter-spacing: 2px; }
.an-review__text { font-size: 14px; line-height: 1.6; color: #36596F; margin: 0; flex: 1; }
.an-review__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.an-review__name { font-weight: 700; font-size: 14px; color: #1B4159; }
.an-review__date { font-size: 12px; color: #98A4AE; }

/* ---------- Zen cross-sell ---------- */
.an-zen { display: flex; justify-content: center; gap: 24px; max-width: 680px; margin: 0 auto; }
.an-zen-card {
  background: #FFF; border-radius: 20px; padding: 40px; border: 1px solid #AFDBF9;
  display: flex; flex-direction: column; align-items: center; text-align: center;
  flex: 1;
}
.an-zen-card__icon { width: 60px; height: 60px; margin-bottom: 18px; }
.an-zen-card__icon img,
.an-zen-card__icon .icon3d { width: 100%; height: 100%; object-fit: contain; }
.an-zen-card__title { font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 21px; color: #1B4159; margin: 0 0 10px; }
.an-zen-card__title .an-c-mgmt { color: #2FCFC8; }
.an-zen-card__title .an-c-note { color: #F0A93C; }
.lp-btn-primary.an-btn--mgmt { background: #2FCFC8; }
.lp-btn-primary.an-btn--note { background: #F7B844; }
.an-zen-card__text { font-size: 15px; line-height: 1.6; color: #36596F; margin: 0 0 22px; flex: 1; }

/* ---------- Cities grid ---------- */
.an-cities__all { text-align: center; margin: 0 0 36px; }
.an-cities__all a { color: #0e6ba6; font-weight: 700; text-decoration: underline; }
.an-offers {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px;
  max-width: 1140px; margin: 8px auto 0; text-align: left;
}
.an-offers__card { display: block; background: none; border: none; border-radius: 0; padding: 0; box-shadow: none; }
.an-offers__cat {
  min-height: 0; margin: 0 0 12px;
  font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 1rem; line-height: 1.3; color: #1B4159;
  display: flex; align-items: center; justify-content: flex-start; gap: 8px;
}
.an-offers__cat .icon3d { width: 26px; height: 26px; flex: none; }
.an-offers__cat a { color: #1B4159; text-decoration: none; }
.an-offers__cat a:hover { color: #2da3ed; text-decoration: none; }
.an-offers__cities { display: block; }
.an-offers__city {
  display: block; font-size: .9rem; color: #5F707C; padding: 3.5px 0; font-weight: 400;
  background: none; border-radius: 0; text-decoration: none;
  transition: color .15s ease, transform .15s ease;
}
.an-offers__city:hover { color: #2da3ed; transform: translateX(3px); background: none; text-decoration: none; }

/* ---------- Responsive (page-specific) ---------- */
@media (max-width: 992px) {
  .an-hero__visual { max-width: 420px; }
  .an-reviews { grid-template-columns: 1fr; }
  .an-zen { grid-template-columns: 1fr; }
  .an-offers { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .an-offers { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Floating cards (besoins)
   ============================================================ */
.an-float-cards{display:flex;flex-direction:column;gap:18px;align-items:flex-end;position:relative;min-height:420px;justify-content:center;padding-top:20px;}
.an-float-card{display:flex;align-items:center;gap:20px;background:#fff;border-radius:22px;padding:22px 32px 22px 68px;box-shadow:0 8px 32px rgba(27,65,89,.10),0 2px 8px rgba(27,65,89,.06);width:340px;position:relative;z-index:1;transition:transform .3s ease,box-shadow .3s ease;}
.an-float-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(27,65,89,.14),0 4px 12px rgba(27,65,89,.08);}
.an-float-card:nth-child(1){margin-right:50px;}
.an-float-card:nth-child(2){margin-right:0;}
.an-float-card:nth-child(3){margin-right:70px;}
.an-float-card:nth-child(4){margin-right:20px;}
.lp-benefit__media .an-float-card__avatar{position:absolute;left:-36px;top:50%;transform:translateY(-50%);width:92px;height:92px;max-width:92px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 6px 20px rgba(27,65,89,.16);}
.an-float-card__label{font-family:'Rubik',sans-serif;font-size:19px;font-weight:600;color:#005B85;}
@media(max-width:992px){.an-float-cards{align-items:center;min-height:auto;padding-top:0;}.an-float-card{width:310px;padding:20px 28px 20px 60px;}.an-float-card:nth-child(1),.an-float-card:nth-child(2),.an-float-card:nth-child(3),.an-float-card:nth-child(4){margin-right:0;}.lp-benefit__media .an-float-card__avatar{width:82px;height:82px;max-width:82px;left:-32px;}}

/* ============================================================
   Avis / Temoignages
   ============================================================ */
.hp-reviews { max-width: 1280px; margin: 0 auto; padding: 64px 24px; }
.hp-reviews__head { text-align: center; margin-bottom: 48px; }
.hp-reviews__title {
  font-family: 'Rubik', sans-serif; font-weight: 600; font-size: 40px;
  line-height: 48px; color: #005B85; margin: 0 0 16px;
}
.hp-reviews__subtitle { font-size: 17px; color: #212529; line-height: 26px; margin: 0; }
.hp-reviews__grid { display: flex; gap: 24px; align-items: stretch; }
.hp-reviews__score {
  flex: 0 0 auto; min-width: 180px;
  padding: 26px 40px; background: #fff; border-radius: 16px;
  border: 1px solid #AFDBF9;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
}
.hp-reviews__score-label { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 18px; color: #212529; }
.hp-reviews__score-value { font-family: 'Rubik', sans-serif; font-weight: 800; font-size: 40px; color: #FBBF24; line-height: 1; }
.hp-reviews__score-stars { display: flex; gap: 6px; }
.hp-reviews__score-stars svg { width: 28px; height: 28px; fill: #FBBF24; }
.hp-reviews__score-brand {
  display: flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif; font-weight: 600; font-size: 15px; color: #005B85;
}
.hp-reviews__score-brand img { width: 24px; height: 24px; }
.hp-reviews__card {
  flex: 1 1 0; min-width: 240px;
  padding: 26px 24px; background: #fff; border-radius: 16px;
  border: 1px solid #AFDBF9;
  display: flex; flex-direction: column; gap: 16px; text-align: left;
}
.hp-reviews__card-header { display: flex; align-items: center; gap: 12px; }
.hp-reviews__avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.hp-reviews__name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 14px; color: #005B85; }
.hp-reviews__stars { display: flex; gap: 2px; margin-top: 4px; }
.hp-reviews__stars svg { width: 14px; height: 14px; fill: #FBBF24; }
.hp-reviews__text {
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 22px; color: #212529;
  flex: 1; margin: 0;
}
.hp-reviews__footer { font-family: 'Inter', sans-serif; font-size: 12px; color: #212529; margin: 0; }
.hp-reviews__cta {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 48px;
  padding: 18px 32px; border-radius: 40px;
  background: #2da3ed;
  color: #fff; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 16px;
  text-decoration: none; transition: filter .2s ease;
}
.hp-reviews__cta:hover { filter: brightness(1.08); color: #fff; }
@media (max-width: 992px) {
  .hp-reviews__grid { flex-wrap: wrap; }
  .hp-reviews__score { flex: 1 1 100%; }
  .hp-reviews__title { font-size: 32px; line-height: 40px; }
}
@media (max-width: 576px) {
  .hp-reviews__card { min-width: 100%; }
  .hp-reviews__title { font-size: 28px; line-height: 36px; }
}
