:root {
  --early-avis-navy: #122F40;
  --early-avis-cyan: #00D8F5;
  --early-avis-yellow: #FEE440;
  --early-avis-green: #2DD881;
  --early-avis-purple: #B33F62;
}
.early-avis, .early-avis * { box-sizing:border-box; }
.early-avis { --early-avis-gap: 1.25rem; position: relative; display: grid; gap: var(--early-avis-gap); color: var(--early-avis-navy); width:100%; max-width:none; }
.early-avis--cards { grid-template-columns: repeat(var(--early-avis-columns, 3), minmax(0, 1fr)); }
.early-avis--cards.early-avis--cols-1 { --early-avis-columns:1; }
.early-avis--cards.early-avis--cols-2 { --early-avis-columns:2; }
.early-avis--cards.early-avis--cols-3 { --early-avis-columns:3; }
.early-avis--cards.early-avis--cols-4 { --early-avis-columns:4; }
.early-avis--list { grid-template-columns: 1fr; }
.early-avis__item { box-sizing:border-box; position:relative; border: 1px solid rgba(18,47,64,.16); border-radius: 22px; padding: 1.25rem; display: flex; gap: 1rem; background: #fff; box-shadow: 0 12px 28px rgba(18,47,64,.08); min-width: 0; }
.early-avis__avatar img { width: 56px; height: 56px; object-fit: cover; border-radius: 999px; display:block; }
.early-avis__content { min-width: 0; width: 100%; display:flex; flex-direction:column; }
.early-avis__header { display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; margin-bottom:.5rem; }
.early-avis__identity { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .5rem; min-width:0; padding-right:.5rem; }
.early-avis__name { font-weight:700; }
.early-avis__flag { display:inline-flex; align-items:center; line-height:1; font-size:1.05rem; transform:translateY(-.02em); }
.early-avis__profile-badge { flex:0 0 auto; display:inline-flex; align-items:center; border-radius:999px; padding:.18rem .62rem; font-size:.78rem; line-height:1.3; color:var(--early-avis-profile-fg, var(--early-avis-navy)); background:var(--early-avis-profile-bg, var(--early-avis-yellow)); font-weight:700; margin-left:auto; }
.early-avis__stars { letter-spacing: .08em; margin-bottom: .55rem; font-size: .95rem; color: var(--early-avis-purple); }
.early-avis__quote { margin: 0 0 .9rem; }
.early-avis__quote p:first-child { margin-top: 0; }
.early-avis__quote p:last-child { margin-bottom: 0; }
.early-avis__quote-wrap { margin-bottom:.9rem; }
.early-avis__quote-wrap .early-avis__quote { margin-bottom:.45rem; }
.early-avis__quote--full[hidden], .early-avis__quote--excerpt[hidden] { display:none !important; }
.early-avis__expand { display:inline-flex; align-items:center; gap:.38rem; border:0; background:transparent; color:var(--early-avis-purple); font-weight:700; cursor:pointer; padding:.1rem 0; font-size:.86rem; }
.early-avis__expand i { font-size:.78rem; transition:transform .18s ease; }
.early-avis__quote-wrap[data-expanded="1"] .early-avis__expand i { transform:rotate(180deg); }
.early-avis__footer { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-top:auto; padding-top:.2rem; }
.early-avis__service { display:inline-flex; align-items:center; width:max-content; max-width:60%; border-radius:999px; padding:.14rem .48rem; font-size:.72rem; line-height:1.25; font-weight:700; color:var(--early-avis-navy); background:rgba(18,47,64,.08); }
.early-avis__footer-actions { margin-left:auto; display:inline-flex; align-items:center; justify-content:flex-end; gap:.45rem; white-space:nowrap; }
.early-avis__date { font-size:.72rem; line-height:1.2; color:rgba(18,47,64,.68); }
.early-avis__source { display:inline-flex; align-items:center; justify-content:center; width:2rem; height:2rem; border-radius:999px; text-decoration:none; color:var(--early-avis-navy); background:rgba(18,47,64,.07); opacity:.95; font-size:1.16rem; transition:transform .18s ease, opacity .18s ease, background .18s ease; }
.early-avis__source:hover { opacity:1; transform: translateY(-1px); background:rgba(18,47,64,.12); }
.early-avis--slider { display:block; padding:0 3rem 1rem; overflow:visible; }
.early-avis--slider .early-avis__track { display:flex !important; flex-flow:row nowrap !important; width:100%; overflow-x:hidden; overflow-y:visible; scroll-behavior:smooth; scroll-snap-type:x mandatory; gap:1rem; align-items:stretch; padding:.2rem 0 1.6rem; }
.early-avis--slider .early-avis__item { flex:0 0 100%; width:100%; max-width:none !important; scroll-snap-align:start; min-height:100%; }

.early-avis--slider.early-avis--per-1 .early-avis__item,
.early-avis--ticker.early-avis--per-1 .early-avis__item { flex-basis:100%; }
.early-avis--slider.early-avis--per-2 .early-avis__item,
.early-avis--ticker.early-avis--per-2 .early-avis__item { flex-basis:calc((100% - 1rem) / 2); }
.early-avis--slider.early-avis--per-3 .early-avis__item,
.early-avis--ticker.early-avis--per-3 .early-avis__item { flex-basis:calc((100% - 2rem) / 3); }
.early-avis--slider.early-avis--per-4 .early-avis__item,
.early-avis--ticker.early-avis--per-4 .early-avis__item { flex-basis:calc((100% - 3rem) / 4); }

.early-avis__nav { position:absolute; top:50%; transform:translateY(-50%); width:2.25rem; height:2.25rem; border:0; border-radius:999px; background:var(--early-avis-navy); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; }
.early-avis__nav--prev { left:.25rem; }
.early-avis__nav--next { right:.25rem; }
.early-avis__nav:hover { background:var(--early-avis-purple); }
.early-avis--ticker { display:block; overflow:hidden; }
.early-avis--ticker .early-avis__track { display:flex; gap:1rem; overflow-x:auto; overflow-y:visible; scroll-behavior:smooth; scroll-snap-type:x proximity; padding:.25rem .25rem 1.4rem; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.early-avis--ticker .early-avis__item { flex:0 0 min(360px, 86vw); scroll-snap-align:start; }
.early-avis--ticker.early-avis--per-1 .early-avis__item { flex-basis:100%; }
.early-avis--ticker.early-avis--per-2 .early-avis__item { flex-basis:calc((100% - 1rem) / 2); }
.early-avis--ticker.early-avis--per-3 .early-avis__item { flex-basis:calc((100% - 2rem) / 3); }
.early-avis--ticker.early-avis--per-4 .early-avis__item { flex-basis:calc((100% - 3rem) / 4); }
@media (max-width: 640px) {
  .early-avis--slider { padding:0 2.45rem 1rem; }
  .early-avis--ticker .early-avis__item { flex-basis:100% !important; }
  .early-avis--slider.early-avis--per-mobile-1 .early-avis__item { flex-basis:100% !important; }
  .early-avis--slider.early-avis--per-mobile-2 .early-avis__item { flex-basis:calc((100% - 1rem) / 2) !important; }
  .early-avis--slider.early-avis--per-mobile-3 .early-avis__item { flex-basis:calc((100% - 2rem) / 3) !important; }
  .early-avis--slider.early-avis--per-mobile-4 .early-avis__item { flex-basis:calc((100% - 3rem) / 4) !important; }
  .early-avis__item { padding:1rem; }
  .early-avis__header { gap:.5rem; }
  .early-avis__footer { align-items:flex-end; }
  .early-avis__service { max-width:50%; }
}

@media (max-width: 900px) {
  .early-avis--cards.early-avis--cols-3,
  .early-avis--cards.early-avis--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) { .early-avis--cards { grid-template-columns: 1fr; } }

.early-avis-block { width:100%; max-width:none; }
.early-avis-module { width:100%; max-width:none; }
.early-avis-controls { display:flex; flex-wrap:wrap; align-items:end; gap:.75rem; margin:0 0 1.25rem; }
.early-avis-control { display:grid; gap:.28rem; min-width:min(220px,100%); font-size:.82rem; font-weight:700; }
.early-avis-control select { width:100%; min-height:2.75rem; padding:.55rem 2.2rem .55rem .75rem; border:1px solid rgba(18,47,64,.22); border-radius:10px; background:#fff; color:var(--early-avis-navy); font:inherit; font-weight:500; }
.early-avis__item[hidden] { display:none !important; }
.early-avis-date-selects { display:flex; gap:.5rem; }
.early-avis-date-selects select { min-width:0; flex:1 1 auto; }
@media (max-width:640px){ .early-avis-controls { display:grid; grid-template-columns:1fr; } .early-avis-control { min-width:0; } }

.early-avis__source-svg { width:1.15em; height:1.15em; display:block; }

/* 1.9.5 — responsive cards and distinct sort/filter groups */
.early-avis-module { container-type:inline-size; }
.early-avis-controls { align-items:stretch; gap:1rem; }
.early-avis-controls__group { display:grid; align-content:start; gap:.42rem; padding:.85rem; border:1px solid rgba(18,47,64,.14); border-radius:14px; background:rgba(255,255,255,.72); }
.early-avis-controls__group--sort { flex:0 1 250px; }
.early-avis-controls__group--filters { flex:1 1 440px; }
.early-avis-controls__title { font-size:.82rem; line-height:1.2; font-weight:800; color:var(--early-avis-navy); }
.early-avis-controls__fields { display:flex; flex-wrap:wrap; gap:.75rem; }
.early-avis-controls__fields .early-avis-control { flex:1 1 210px; }

/* Force a single card column on actual mobile viewports, regardless of chosen desktop columns or theme CSS. */
@media (max-width: 782px) {
  .early-avis-module .early-avis--cards,
  .early-avis-module .early-avis--cards.early-avis--cols-1,
  .early-avis-module .early-avis--cards.early-avis--cols-2,
  .early-avis-module .early-avis--cards.early-avis--cols-3,
  .early-avis-module .early-avis--cards.early-avis--cols-4 {
    --early-avis-columns:1 !important;
    grid-template-columns:minmax(0, 1fr) !important;
  }
  .early-avis-controls__group { width:100%; }
  .early-avis-controls__fields { display:grid; grid-template-columns:1fr; }
}

/* Also react to a narrow Gutenberg/container width, even when the viewport itself is wider. */
@container (max-width: 700px) {
  .early-avis--cards,
  .early-avis--cards.early-avis--cols-1,
  .early-avis--cards.early-avis--cols-2,
  .early-avis--cards.early-avis--cols-3,
  .early-avis--cards.early-avis--cols-4 {
    --early-avis-columns:1 !important;
    grid-template-columns:minmax(0, 1fr) !important;
  }
  .early-avis-controls { display:grid; grid-template-columns:1fr; }
  .early-avis-controls__fields { display:grid; grid-template-columns:1fr; }
}


/* 1.9.6 — compact, centered front controls */
.early-avis-controls {
  justify-content:center;
  align-items:flex-end;
  gap:.75rem;
}
.early-avis-controls__group {
  display:flex;
  align-items:flex-end;
  gap:.55rem;
  width:auto;
  padding:.6rem .7rem;
  border-radius:12px;
}
.early-avis-controls__group--sort,
.early-avis-controls__group--filters {
  flex:0 0 auto;
}
.early-avis-controls__title {
  align-self:center;
  white-space:nowrap;
  margin:0 .15rem 0 0;
}
.early-avis-controls__fields {
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:.55rem;
}
.early-avis-controls .early-avis-control,
.early-avis-controls__fields .early-avis-control {
  flex:0 0 auto;
  min-width:0;
  width:190px;
}
.early-avis-controls__group--sort .early-avis-control {
  width:170px;
}
.early-avis-control select {
  min-height:2.45rem;
  padding:.42rem 2rem .42rem .65rem;
}

@media (max-width:782px) {
  .early-avis-controls {
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .early-avis-controls__group {
    width:min(100%, 360px);
    display:grid;
    align-items:stretch;
  }
  .early-avis-controls__title { margin:0; }
  .early-avis-controls__fields { display:grid; grid-template-columns:1fr; }
  .early-avis-controls .early-avis-control,
  .early-avis-controls__fields .early-avis-control,
  .early-avis-controls__group--sort .early-avis-control {
    width:100%;
  }
}


/* 1.9.7 — frameless controls and responsive slider density */
.early-avis-controls__group {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

/* 1.9.9 — slider items must remain inside the horizontal track. */

/* 1.9.10 — same spacing for complete and truncated reviews */
.early-avis__quote > :first-child { margin-top:0 !important; }
.early-avis__quote > :last-child { margin-bottom:0 !important; }
.early-avis__quote > p:empty:first-child { display:none; }
