/* LogiDrink blocks aligned on LogiMotor (modern-saas).
   Header, tarifs grid, and button radius stay LogiDrink. */

@view-transition { navigation: auto; }
html:not([data-ld-portal])::view-transition-old(root),
html:not([data-ld-portal])::view-transition-new(root) {
  animation-duration: 0.2s;
  animation-timing-function: ease;
}


html:not([data-ld-portal]) .hero h1,
html:not([data-ld-portal]) .section-head h2,
html:not([data-ld-portal]) .feat-card h3,
html:not([data-ld-portal]) .stat .num,
html:not([data-ld-portal]) .price-card h3,
html:not([data-ld-portal]) .price-card .price {
  font-family: 'Space Grotesk', Inter, system-ui, sans-serif !important;
}

html:not([data-ld-portal]) {
  --lm-radius: 16px;
  --lm-radius-sm: 10px;
  --lm-radius-lg: 22px;
  --lm-radius-xl: 28px;
  --lm-shadow-card: 0 1px 2px rgba(15, 15, 26, 0.04), 0 8px 32px -8px rgba(15, 15, 26, 0.1);
  --lm-shadow-float: 0 24px 64px -16px rgba(15, 15, 26, 0.18), 0 0 0 1px rgba(15, 15, 26, 0.04);
  --lm-shadow-sm: 0 1px 2px rgba(15, 15, 26, 0.04);
  --bg-soft: #fafaf8;
  --bg-cream: #fafaf8;
  --line: #e7e4dd;
  --shadow-card: var(--lm-shadow-card);
  --shadow-float: var(--lm-shadow-float);
  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 22px;
  --radius-xl: 28px;
}

html:not([data-ld-portal]) section.soft {
  background: linear-gradient(180deg, #fafaf8 0%, #fff 100%) !important;
  padding: 36px 0 !important;
}
html:not([data-ld-portal]) section:not(.hero):not(.soft) {
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

html:not([data-ld-portal]) .dash-card {
  border-radius: 16px !important;
  padding: 16px !important;
  box-shadow: var(--lm-shadow-card) !important;
  transform: none !important;
  perspective: none !important;
  transition: none !important;
}
html:not([data-ld-portal]) .dash-card:hover {
  transform: none !important;
  filter: none !important;
}
html:not([data-ld-portal]) .dash-tile {
  border-radius: 8px !important;
  padding: 12px !important;
}

html:not([data-ld-portal]) .feat-card,
html:not([data-ld-portal]) .card,
html:not([data-ld-portal]) .plan-card,
html:not([data-ld-portal]) .int-card,
html:not([data-ld-portal]) .offer-card,
html:not([data-ld-portal]) .ld-offer-card,
html:not([data-ld-portal]) .ld-int-card {
  border: none !important;
  border-radius: var(--lm-radius-lg) !important;
  padding: 28px 26px !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: #fff !important;
  height: auto !important;
  align-self: stretch !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease !important;
}
html:not([data-ld-portal]) .feat-card:hover,
html:not([data-ld-portal]) .card:hover,
html:not([data-ld-portal]) .plan-card:hover,
html:not([data-ld-portal]) .int-card:hover,
html:not([data-ld-portal]) .offer-card:hover,
html:not([data-ld-portal]) .ld-offer-card:hover,
html:not([data-ld-portal]) .ld-int-card:hover,
html:not([data-ld-portal]) .feat-card[data-href]:hover,
html:not([data-ld-portal]) a.feat-card:hover {
  box-shadow: var(--lm-shadow-float) !important;
  transform: translateY(-4px) !important;
  filter: none !important;
  border-color: transparent !important;
}
html:not([data-ld-portal]) .feat-card .icon {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: #fff3ef !important;
  color: #fd7020 !important;
}
html:not([data-ld-portal]) .feat-card .icon svg { stroke: #fd7020 !important; }

html:not([data-ld-portal]) .stat-row .stat {
  border-radius: var(--lm-radius-lg) !important;
  border: none !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: #fff !important;
  padding: 28px 24px !important;
}
html:not([data-ld-portal]) .stat:hover {
  transform: none !important;
}

html:not([data-ld-portal]) .sales-strip {
  border-radius: var(--lm-radius-xl) !important;
  border: none !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: linear-gradient(135deg, #fff 0%, #fff3ef 100%) !important;
  padding: 36px 40px !important;
}
html:not([data-ld-portal]) .sales-strip h2,
html:not([data-ld-portal]) .sales-strip p {
  color: inherit !important;
}

html:not([data-ld-portal]) .cta-banner {
  border-radius: var(--lm-radius-xl) !important;
  padding: 56px 64px !important;
}

html:not([data-ld-portal]) .quote {
  border: none !important;
  border-radius: var(--lm-radius-lg) !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: #fff !important;
}
html:not([data-ld-portal]) .quote:hover {
  transform: none !important;
  filter: none !important;
}

html:not([data-ld-portal]) .versus { border-radius: var(--lm-radius-xl) !important; }
html:not([data-ld-portal]) .versus-card { border-radius: var(--lm-radius-lg) !important; }
html:not([data-ld-portal]) .versus .versus-card {
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  box-shadow: none !important;
}
html:not([data-ld-portal]) .versus .versus-card.win {
  background: linear-gradient(135deg, rgba(253, 112, 32, 0.2), rgba(253, 112, 32, 0.06)) !important;
  border-color: rgba(253, 112, 32, 0.35) !important;
}
html:not([data-ld-portal]) .versus .versus-card .who { color: rgba(255, 255, 255, 0.65) !important; }
html:not([data-ld-portal]) .versus .versus-card .title { color: #fff !important; }
html:not([data-ld-portal]) .versus .versus-card ul li { color: rgba(255, 255, 255, 0.82) !important; }
html:not([data-ld-portal]) section.dark .versus-card {
  border: none !important;
  background: #fff !important;
  box-shadow: var(--lm-shadow-card) !important;
}
html:not([data-ld-portal]) section.dark .versus-card .title { color: #0f0f1a !important; }

html:not([data-ld-portal]) .step {
  border-radius: var(--lm-radius-lg) !important;
  border: none !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: #fff !important;
  padding: 28px 26px 24px !important;
}
html:not([data-ld-portal]) details.faq-item,
html:not([data-ld-portal]) .faq-item {
  border-radius: 16px !important;
  border: none !important;
  box-shadow: var(--lm-shadow-sm) !important;
  background: #fff !important;
  margin-bottom: 10px !important;
  padding: 16px 20px !important;
}

html:not([data-ld-portal]) .compare-table-wrap,
html:not([data-ld-portal]) .contact-card,
html:not([data-ld-portal]) .guide-card,
html:not([data-ld-portal]) .sol-card {
  border: none !important;
  border-radius: var(--lm-radius-lg) !important;
  box-shadow: var(--lm-shadow-card) !important;
  background: #fff !important;
}

html:not([data-ld-portal]) .client-logo {
  background: #fff !important;
  border: 1px solid #f0f2f6 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(16, 24, 42, .04) !important;
  padding: 16px 28px !important;
  min-width: 220px !important;
  height: 110px !important;
}
html:not([data-ld-portal]) .client-logo:hover {
  transform: scale(1.05) !important;
  filter: none !important;
}
html:not([data-ld-portal]) .client-logo img,
html:not([data-ld-portal]) .client-logo:hover img {
  filter: none !important;
  mix-blend-mode: normal !important;
}

html:not([data-ld-portal]) .cta-post-quotes {
  background: #fafaf8 !important;
  border-radius: var(--lm-radius-lg) !important;
  border: 1px solid #e7e4dd !important;
}

html:not([data-ld-portal]) .price-card {
  border: none !important;
  border-radius: var(--lm-radius-lg) !important;
  padding: 32px !important;
  box-shadow: var(--lm-shadow-card) !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease !important;
}
html:not([data-ld-portal]) .price-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--lm-shadow-float) !important;
}
html:not([data-ld-portal]) .price-card.featured {
  border-radius: var(--lm-radius-xl) !important;
  box-shadow: var(--lm-shadow-float) !important;
  transform: scale(1.02);
  background: #0a1628 !important;
  color: #fff !important;
}
html:not([data-ld-portal]) .price-card.featured:hover {
  transform: scale(1.02) translateY(-4px) !important;
}

html:not([data-ld-portal]) body .btn,
html:not([data-ld-portal]) body a.btn,
html:not([data-ld-portal]) body button.btn,
html:not([data-ld-portal]) body .btn-primary,
html:not([data-ld-portal]) body .btn-ghost,
html:not([data-ld-portal]) body .btn-secondary,
html:not([data-ld-portal]) body .btn-outline,
html:not([data-ld-portal]) body .btn-white,
html:not([data-ld-portal]) body .btn-lg,
html:not([data-ld-portal]) body .btn-sm,
html:not([data-ld-portal]) body input[type=submit],
html:not([data-ld-portal]) body input[type=button] {
  border-radius: 6px !important;
}

@media (max-width: 900px) {
  html:not([data-ld-portal]) .dash-card { transform: none !important; }
  html:not([data-ld-portal]) .price-card.featured { transform: none !important; }
  html:not([data-ld-portal]) .price-card.featured:hover { transform: translateY(-4px) !important; }
}

/* Tarifs: keep the existing 3-column grid and card layout */
#tarifsForfaits #planCards.price-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
@media (max-width: 900px) {
  #tarifsForfaits #planCards.price-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
  }
}
#tarifsForfaits .price-card,
#tarifsForfaits .price-card:hover,
#tarifsForfaits .price-card.featured,
#tarifsForfaits .price-card.featured:hover {
  transform: none !important;
  display: grid !important;
  grid-template-rows: 28px auto auto auto auto minmax(8.2rem, auto) minmax(0, 1fr) auto !important;
  height: 100% !important;
  padding: 26px 24px 22px !important;
  border-radius: 16px !important;
  border: 1px solid #e8edf3 !important;
}
#tarifsForfaits .price-card {
  box-shadow: 0 10px 28px rgba(10, 22, 40, .05) !important;
  background: #fff !important;
}
#tarifsForfaits .price-card.featured {
  background: #0a1628 !important;
  border-color: #0a1628 !important;
  box-shadow: 0 16px 36px rgba(10, 22, 40, .22) !important;
}

/* ===== Width + alignment (all marketing pages, not only home) ===== */
html:not([data-ld-portal]) {
  --max: 1280px !important;
}
html:not([data-ld-portal]) .container,
html:not([data-ld-portal]) .container-sm,
html:not([data-ld-portal]) section > .container,
html:not([data-ld-portal]) .hero .container,
html:not([data-ld-portal]) footer .container {
  max-width: min(1280px, calc(100% - 48px)) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html:not([data-ld-portal]) .crumb,
html:not([data-ld-portal]) .hero .crumb,
html:not([data-ld-portal]) .fpage-hero .crumb,
html:not([data-ld-portal]) .ld-int-page-hero .crumb,
html:not([data-ld-portal]) .article-wrap .crumb {
  display: none !important;
}

html:not([data-ld-portal]) .grid:not(:has(*)),
html:not([data-ld-portal]) .feat-grid:not(:has(*)),
html:not([data-ld-portal]) .price-grid:not(:has(*)) {
  display: none !important;
}
html:not([data-ld-portal]) section:has(> .container > .grid:not(:has(*))):not(:has(.price-card)):not(:has(.faq)):not(:has(.feat-card)):not(:has(form)):not(:has(table)):not(:has(.cta-banner)):not(:has(.pack-banner)):not(:has(.quote)):not(:has(.contact-card)) {
  display: none !important;
}

html:not([data-ld-portal]) .hero:not(:has(.hero-grid)),
html:not([data-ld-portal]) .fpage-hero,
html:not([data-ld-portal]) .ld-int-page-hero {
  text-align: center !important;
  padding-top: 52px !important;
  padding-bottom: 28px !important;
  min-height: 0 !important;
}
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .container,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) h1,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .lead,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .eyebrow,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .hero-tags,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .hero-cta,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .geo-answer,
html:not([data-ld-portal]) .fpage-hero h1,
html:not([data-ld-portal]) .fpage-hero .lead,
html:not([data-ld-portal]) .fpage-hero .eyebrow {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .lead,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .geo-answer,
html:not([data-ld-portal]) .fpage-hero .lead {
  max-width: 46rem !important;
}
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .hero-tags,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .hero-cta,
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .actions {
  justify-content: center !important;
}
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) > .container > div[style*="max-width"],
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) > .container[style*="max-width"] {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

html:not([data-ld-portal]) .section-head,
html:not([data-ld-portal]) .sec-head {
  max-width: 760px !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 28px !important;
}
html:not([data-ld-portal]) .section-head p,
html:not([data-ld-portal]) .sec-head p {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 46rem !important;
  text-align: center !important;
}
html:not([data-ld-portal]) .section-head h2::after {
  margin-left: auto !important;
  margin-right: auto !important;
}

html:not([data-ld-portal]) .faq,
html:not([data-ld-portal]) .faq-list {
  max-width: 760px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

html:not([data-ld-portal]) #tarifsForfaits .lm-price-toggles,
html:not([data-ld-portal]) #tarifsForfaits .lm-bill-meta {
  justify-content: center !important;
  text-align: center !important;
}

html:not([data-ld-portal]) .feat-grid,
html:not([data-ld-portal]) .grid.grid-3,
html:not([data-ld-portal]) .grid-3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  align-items: start !important;
  grid-auto-rows: auto !important;
}
html:not([data-ld-portal]) .feat-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))),
html:not([data-ld-portal]) .grid.grid-3:has(> :nth-child(4)):not(:has(> :nth-child(5))),
html:not([data-ld-portal]) .grid-3:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
html:not([data-ld-portal]) .grid.grid-2,
html:not([data-ld-portal]) .grid-2 {
  max-width: none !important;
  width: 100% !important;
  gap: 22px !important;
  align-items: start !important;
  grid-auto-rows: auto !important;
}
html:not([data-ld-portal]) .grid.grid-2 .feat-card,
html:not([data-ld-portal]) .grid.grid-3 .feat-card,
html:not([data-ld-portal]) .feat-grid .feat-card {
  height: auto !important;
  display: block !important;
}

html:not([data-ld-portal]) .steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}
html:not([data-ld-portal]) .steps .step {
  height: auto !important;
}
html:not([data-ld-portal]) .tabs,
html:not([data-ld-portal]) .tab-content {
  max-width: none !important;
  width: 100% !important;
}

html:not([data-ld-portal]) .hero:has(.hero-grid),
html:not([data-ld-portal]) .hero:has(.hero-grid) h1,
html:not([data-ld-portal]) .hero:has(.hero-grid) .lead,
html:not([data-ld-portal]) .hero:has(.hero-grid) .eyebrow {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 900px) {
  html:not([data-ld-portal]) .feat-grid,
  html:not([data-ld-portal]) .feat-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  html:not([data-ld-portal]) .grid.grid-3,
  html:not([data-ld-portal]) .grid.grid-3:has(> :nth-child(4)):not(:has(> :nth-child(5))),
  html:not([data-ld-portal]) .steps {
    grid-template-columns: 1fr !important;
  }
}
