/* ==========================================================================
   Page Tarifs (lot 3) : patterns « Tarifs — … » (patterns/tarifs-*.php),
   maquette tarifs-v2-moderne. Réutilise le héros de l'accueil (home-v2.css),
   les offres et la FAQ des pages agent (agent-v2.css) ; ici, ce qui leur est
   propre. Chargé après agent-v2.css et home-v2.css, sur le site et dans l'éditeur.
   ========================================================================== */

.home-c--white { --c: #fff; }

/* ----- Héro : liens vers les sections ----- */
.wp-block-group.tarifs-hero { padding-bottom: 20px; }
.tarifs-jump { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.tarifs-jump__link a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: #fff;
  font-size: 14.5px;
  text-decoration: none;
  color: var(--ink);
}
.tarifs-jump__link a:hover { background: var(--a-cream); }

/* ----- Sections ----- */
.wp-block-group.tarifs-sec { max-width: var(--wrap); margin: 0 auto; padding: 110px 24px 40px; scroll-margin-top: 90px; }
.tarifs-hero + .wp-block-group.tarifs-sec { padding-top: 56px; }
.wp-block-group.tarifs-faq { scroll-margin-top: 90px; }
.tarifs-sec .agent-section-head { margin-bottom: 48px; }

/* ----- Agent SEO & GEO : en-tête de l'agent, prix ; le bloc « Offres de l'agent » (.agentsia-offers), aussi sur les pages agent ----- */
.tarifs-seo .agent-pricing__panel { max-width: none; }
.tarifs-agent { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; }
.tarifs-agent .tarifs-agent__face { flex: none; width: 64px; }
.tarifs-seo .tarifs-agent__name { margin: 0; font-size: clamp(26px, 3vw, 36px); font-weight: 600; letter-spacing: -0.045em; line-height: 1.05; color: var(--ink); }
.tarifs-seo .tarifs-agent__desc { max-width: 40em; margin-top: 4px; font-size: 16px; line-height: 1.45; color: var(--text); }
.tarifs-agent__link { flex: none; margin-left: auto !important; }
.tarifs-agent__link a,
.tarifs-ag__link a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; white-space: nowrap; text-decoration: none; color: var(--ink); }
.tarifs-agent__link a::after,
.tarifs-ag__link a::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='%231d1d1b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Prix : le montant, puis « HT par mois / Sans engagement » à côté. */
.tarifs-seo .agent-pricing .agent-offer__price,
.tarifs-seo .agent-offer__price { display: flex; align-items: flex-end; gap: 12px; margin: 22px 0; font-size: 13.5px; line-height: 1.35; color: var(--muted); }
.tarifs-seo .agent-offer__price strong { flex: none; margin: 0; white-space: nowrap; }
/* Ligne sans nombre : une coche verte dans la colonne des nombres. */
.agentsia-offers .agent-offer__row--check::before {
  content: "";
  justify-self: end;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='%231f7a4d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.agentsia-offers .tarifs-incl { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 30px; text-align: center; }
.tarifs-incl__k { font-size: 12.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: rgb(29 29 27 / .7); }
.agentsia-offers .tarifs-incl__list { gap: 10px 26px; font-size: 15px; color: var(--ink); }
.tarifs-incl__list .home-trust__item::before { width: 17px; height: 17px; }

/* ----- Les autres agents ----- */
.tarifs-agents__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tarifs-ag { display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: var(--r-card); background: var(--a-cream); }
.tarifs-ag .tarifs-ag__face { width: 56px; box-shadow: none; }
.tarifs-agents .tarifs-ag__name { margin: 4px 0 0; font-size: 21px; font-weight: 600; letter-spacing: -0.035em; line-height: 1.15; color: var(--ink); }
.tarifs-ag__desc { font-size: 14.5px; line-height: 1.5; color: var(--muted); }
.tarifs-agents .tarifs-ag__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid rgb(29 29 27 / .1); }
.tarifs-ag__price { font-size: 15px; font-weight: 600; color: var(--ink); }
.tarifs-ag__link a { font-size: 14.5px; }

/* ----- Avec chaque agent ----- */
.tarifs-each__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding: 44px; border-radius: var(--r-panel); background: var(--a-lavender, #d6d0ee); }
.tarifs-each__item { display: flex; flex-direction: column; gap: 8px; }
.tarifs-each .tarifs-each__icon { position: relative; display: grid; place-items: center; width: 46px; height: 46px; margin: 0 0 6px; overflow: hidden; border-radius: var(--r-tile); background: #fff; }
.tarifs-each__icon img { width: 22px; height: 22px; }
.tarifs-each__icon--brain img { position: absolute; left: 50%; top: 50%; width: 44px; max-width: none; height: auto; transform: translate(-50%, -50%); }
.tarifs-each__t { font-size: 18px; font-weight: 600; letter-spacing: -0.025em; color: var(--ink); }
.tarifs-each__d { font-size: 15px; line-height: 1.5; color: var(--text); }

/* ----- Équipes et réseaux ----- */
.tarifs-seats__panel { display: grid; grid-template-columns: minmax(0, 1.2fr) auto; align-items: center; gap: 32px; padding: 56px; border-radius: var(--r-panel); background: #383838; color: #fff; }
.tarifs-seats .tarifs-seats__title,
.tarifs-seats .tarifs-seats__sub { margin: 0; font-size: clamp(36px, 5vw, 64px); font-weight: 600; letter-spacing: -0.055em; line-height: .98; color: #fff; }
.tarifs-seats .tarifs-seats__sub { color: rgb(255 255 255 / .55); }
.tarifs-seats .tarifs-seats__lead { max-width: 36em; margin-top: 18px; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.5; color: rgb(255 255 255 / .78); }
.tarifs-seats .wp-block-button.tarifs-seats__btn .wp-block-button__link { border-color: transparent; background: #fff; color: var(--ink); box-shadow: 0 6px 16px -12px rgb(0 0 0 / .3); }

@media (max-width: 980px) {
  .tarifs-agents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tarifs-each__list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 32px 24px; }
  .tarifs-seats__panel { grid-template-columns: minmax(0, 1fr); padding: 40px 28px; }
  .tarifs-seats .tarifs-seats__ctas { justify-content: flex-start; }
  .tarifs-agent { flex-wrap: wrap; }
  .tarifs-agent__link { margin-left: 82px !important; }
}
@media (max-width: 640px) {
  .wp-block-group.tarifs-sec { padding-top: 80px; }
  .tarifs-agents__grid,
  .tarifs-each__list { grid-template-columns: minmax(0, 1fr); }
  .tarifs-agent__link { margin-left: 0 !important; }
  .tarifs-seats__panel { padding: 32px 20px; }
  .agentsia-offers .tarifs-incl__list { flex-direction: column; align-items: flex-start; text-align: left; }
}

/* Le bloc produit son HTML lui-même, sans les classes de mise en page de WordPress : marges des
   paragraphes remises à zéro (les règles des cartes, plus précises, gardent les leurs). */
.agentsia-offers p { margin-block: 0; }
/* Bloc « Offres de l'agent » dans l'éditeur, quand il n'a rien à montrer. */
.agentsia-offers__empty { margin: 0; padding: 16px; border: 1px dashed var(--dash); border-radius: var(--r-card); background: rgb(255 255 255 / .6); font-size: 14px; color: var(--muted); }
