/* Cartes de prix (lb-*) — partagé par les pages /solutions/[metier] */
.lb-section-ae { background: #fff; padding: 0; margin-top: 32px; font-family: Ppmori, -apple-system, BlinkMacSystemFont, sans-serif; }
.lb-wrap { border-radius: 8px; box-shadow: 0 0 0 1px #e0e0e0; overflow: visible; }
.lb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: transparent; }
.lb-card { background: #fff; padding: 28px; border-right: 1px solid #e0e0e0; }
.lb-card:first-child { border-radius: 8px 0 0 8px; }
.lb-card:last-child { border-right: none; border-radius: 0 8px 8px 0; }
.lb-card-flex { display: flex; flex-direction: column; justify-content: space-between; height: 100%; gap: 36px; }
.lb-card-top { display: flex; flex-direction: column; gap: 20px; }
.lb-card-featured .lb-card-top > div:first-child { margin-bottom: 16px; }
.lb-name { font-size: 18px; font-weight: 500; color: #171717; margin: 0; display: flex; align-items: center; gap: 6px; }
.lb-pill { font-size: 12px; font-weight: 500; background: #525252; color: #fff; padding: 2px 8px; border-radius: 4px; white-space: nowrap; line-height: 16px; }
.lb-card-featured { background: #FCFCFC; position: relative; z-index: 2; padding: 28px 28px 44px 28px; margin: -16px 0; border-radius: 10px; border-right: none; box-shadow: 0 0 0 1.5px #b0b0b0; }
.lb-desc { font-size: 14px; font-weight: 400; color: #686868; margin: 4px 0 0; line-height: 1.45; text-wrap: balance; }
.lb-price-wrap { display: flex; flex-direction: column; gap: 0; }
.lb-price-prefix { font-size: 13px; color: #686868; margin-bottom: 4px; }
.lb-price-row { display: flex; align-items: baseline; margin: 0; line-height: 1; }
.lb-num { font-size: 32px; font-weight: 500; color: #171717; line-height: 1; letter-spacing: -0.5px; display: inline-flex; }
.lb-dcol { display: inline-block; position: relative; overflow: hidden; height: 1.15em; }
.lb-dcol.rolling { -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%); }
.lb-dstrip { display: flex; flex-direction: column; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
.lb-dstrip .d { display: block; text-align: center; height: 1.15em; line-height: 1.15em; }
.lb-cur { font-size: 32px; font-weight: 500; color: #171717; line-height: 1; letter-spacing: -0.5px; }
.lb-per { font-size: 14px; color: #686868; margin-left: 2px; align-self: flex-end; margin-bottom: 3px; }
.lb-custom-price { font-size: 32px; font-weight: 500; color: #171717; line-height: 1; letter-spacing: -0.5px; margin: 0; }
.lb-billing { display: flex; align-items: center; gap: 8px; margin-top: 0; }
.lb-billing-text { font-size: 13px; color: #686868; }
.lb-sw { position: relative; width: 28px; height: 16px; background: #ccc; border-radius: 8px; border: none; cursor: pointer; padding: 0; transition: background 0.25s; flex-shrink: 0; }
.lb-sw.on { background: #72E3AD; }
.lb-dot { position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; background: #fff; border-radius: 50%; transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 0.5px 2px rgba(0,0,0,0.15); }
.lb-sw.on .lb-dot { transform: translateX(12px); }
.lb-save { font-size: 11px; font-weight: 500; background: #e8faf1; color: #2a9d6a; padding: 1px 6px; border-radius: 100px; transition: opacity 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); opacity: 0; transform: scale(0.4); }
.lb-save.show { opacity: 1; transform: scale(1); }
.lb-features { display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; }
.lb-features li { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #333; line-height: 14px; }
.lb-features li svg { flex-shrink: 0; width: 14px; height: 14px; }
.lb-features .lb-fh { display: flex; align-items: baseline; gap: 3px; font-size: 12px; color: #686868; line-height: 14px; margin-bottom: 0; }
.lb-features .lb-fh strong { color: #171717; font-weight: 600; }
.lb-bottom { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid #e0e0e0; padding-top: 14px; }
.lb-binfo { display: flex; gap: 8px; font-size: 12px; color: #333; line-height: 14px; min-height: 32px; align-items: flex-start; }
.lb-binfo svg { flex-shrink: 0; width: 14px; height: 14px; color: #686868; margin-top: 0; }
.lb-binfo-col { display: flex; flex-direction: column; gap: 4px; }
.lb-bsub { font-size: 12px; color: #999; }
.lb-cta { display: flex; align-items: center; justify-content: center; width: 100%; height: 36px; font-family: inherit; font-size: 14px; font-weight: 400; text-decoration: none; border-radius: 6px; cursor: pointer; border: none; background: #f5f5f5; color: #171717; transition: background 0.15s; }
.lb-cta:hover { background: #eaeaea; }
.lb-cta-primary { background: #72E3AD; color: #171717; border: 1px solid #5cc996; }
.lb-cta-primary:hover { background: #5fd69d; }
.lb-features-fade { position: relative; max-height: 130px; overflow: hidden; }
.lb-features-fade::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); pointer-events: none; }
.lb-card-featured .lb-features-fade::after { background: linear-gradient(to bottom, rgba(252,252,252,0), #FCFCFC); }
.lb-see-more { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: #686868; text-decoration: none; margin-top: 6px; transition: color 0.15s; }
.lb-see-more:hover { color: #171717; }
.lb-see-more svg { width: 12px; height: 12px; transition: transform 0.15s; }
.lb-see-more:hover svg { transform: translateX(2px); }
@media (max-width: 991px) {
  .lb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lb-card:first-child { border-radius: 8px 0 0 0; border-bottom: 1px solid #e0e0e0; }
  .lb-card:nth-child(2) { border-radius: 0 8px 0 0; }
  .lb-card:nth-child(3) { border-radius: 0 0 0 0; border-right: 1px solid #e0e0e0; border-bottom: none; }
  .lb-card:last-child { border-radius: 0 0 8px 0; }
  .lb-card-featured { margin: 0; padding: 28px; border-radius: 0; box-shadow: none; border-right: none; border-bottom: 1px solid #e0e0e0; }
}
@media (max-width: 767px) {
  .lb-grid { grid-template-columns: 1fr; }
  .lb-num, .lb-cur, .lb-custom-price { font-size: 28px; }
  .lb-card { border-right: none; border-bottom: 1px solid #e0e0e0; border-radius: 0; }
  .lb-card:first-child { border-radius: 8px 8px 0 0; }
  .lb-card:last-child { border-bottom: none; border-radius: 0 0 8px 8px; }
  .lb-card-featured { margin: 0; padding: 28px; border-radius: 0; box-shadow: none; }
}

/* Sections à onglets (layout496) : sans les IDs Webflow d'origine, la grille
   décalait le menu et l'image en diagonale. On force un placement explicite :
   menu à gauche, image à droite, sur la même rangée et centrés verticalement. */
.layout496_tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4rem;
  align-items: center;
}
.layout496_tabs > .layout496_tabs-menu-2 { grid-column: 1 / 2; grid-row: 1 / 2; }
.layout496_tabs > .layout496_tabs-content { grid-column: 2 / 3; grid-row: 1 / 2; }
