/* LogiDrink public — pages aérées, cartes, typo unique (esprit Pennylane, tokens LD) */
html:not([data-ld-portal]) {
  --ld-viva-ink: #0a1628;
  --ld-viva-muted: #425466;
  --ld-viva-line: #e8edf3;
  --ld-viva-card: #ffffff;
  --ld-viva-wash: #ffffff;
}

html:not([data-ld-portal]) body {
  font-size: 16px !important;
  line-height: 1.65 !important;
  color: var(--ld-viva-ink) !important;
}

html:not([data-ld-portal]) h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.15rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  font-weight: 750 !important;
}
html:not([data-ld-portal]) h2 {
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
}
html:not([data-ld-portal]) h3 {
  font-size: 1.12rem !important;
  line-height: 1.3 !important;
}
html:not([data-ld-portal]) p,
html:not([data-ld-portal]) li {
  font-size: 1.02rem !important;
}

html:not([data-ld-portal]) .container,
html:not([data-ld-portal]) footer .container,
html:not([data-ld-portal]) section > .container {
  max-width: min(1160px, calc(100% - 2.5rem)) !important;
}

html:not([data-ld-portal]) section.soft,
html:not([data-ld-portal]) .section,
html:not([data-ld-portal]) .cta-section,
html:not([data-ld-portal]) .tns-cta {
  padding: 72px 0 !important;
  position: relative;
}
html:not([data-ld-portal]) .hero {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

html:not([data-ld-portal]) section.soft:nth-of-type(odd),
html:not([data-ld-portal]) section.soft:nth-of-type(even),
html:not([data-ld-portal]) section.cream,
html:not([data-ld-portal]) #tarifsForfaits {
  background: #fff !important;
}

html:not([data-ld-portal]) .section-head,
html:not([data-ld-portal]) .sec-head {
  max-width: 42rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
html:not([data-ld-portal]) .section-head p,
html:not([data-ld-portal]) .sec-head p,
html:not([data-ld-portal]) p.lead {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 42rem !important;
  font-size: 1.05rem !important;
  color: var(--ld-viva-muted) !important;
}
html:not([data-ld-portal]) .hero:not(:has(.hero-grid)) .container > div:not(.crumb):not(.hero-cta):not(.actions) {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
html:not([data-ld-portal]) .seo-textblock {
  text-align: center !important;
}
html:not([data-ld-portal]) .seo-textblock h2,
html:not([data-ld-portal]) .seo-textblock p {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 42rem !important;
  text-align: center !important;
}

html:not([data-ld-portal]) .clients-trust .section-head {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !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 {
  background: var(--ld-viva-card) !important;
  border: 1px solid var(--ld-viva-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(10, 22, 40, .06) !important;
  padding: 1.35rem 1.4rem !important;
  text-align: left !important;
}
html:not([data-ld-portal]) .feat-card h3,
html:not([data-ld-portal]) .card h3 {
  font-size: 1.08rem !important;
}

html:not([data-ld-portal]) .grid.grid-2,
html:not([data-ld-portal]) .split,
html:not([data-ld-portal]) .hero-grid {
  gap: 40px 56px !important;
}
html:not([data-ld-portal]) .split,
html:not([data-ld-portal]) .hero-grid {
  align-items: center !important;
}
html:not([data-ld-portal]) .grid.grid-2:has(> .feat-card),
html:not([data-ld-portal]) .grid.grid-3:has(> .feat-card) {
  align-items: stretch !important;
  gap: 22px !important;
  grid-auto-rows: 1fr !important;
}
html:not([data-ld-portal]) .grid.grid-2 .feat-card,
html:not([data-ld-portal]) .grid.grid-3 .feat-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
html:not([data-ld-portal]) .feat-card .icon {
  background: #f4f6f8 !important;
  color: #fd7020 !important;
}
html:not([data-ld-portal]) .feat-card .icon svg {
  stroke: #fd7020 !important;
}
html:not([data-ld-portal]) .hero-cta {
  align-items: center !important;
}
html:not([data-ld-portal]) .hero .hero-cta a.btn,
html:not([data-ld-portal]) .cta-banner .actions .btn,
html:not([data-ld-portal]) .sales-strip-actions .btn {
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
}
html:not([data-ld-portal]) {
  --accent: #fd7020;
  --accent-2: #fd7020;
  --accent-soft: #f4f6f8;
  --accent-deep: #fd7020;
}
html:not([data-ld-portal]) .btn-primary,
html:not([data-ld-portal]) a.btn-primary {
  background: #fd7020 !important;
  border-color: #fd7020 !important;
  color: #fff !important;
}
html:not([data-ld-portal]) header.nav .nav-actions .btn-signup,
html:not([data-ld-portal]) header.nav .ld-mobile-cta .btn-signup {
  display: inline-flex !important;
  align-items: center !important;
  background: #fff !important;
  color: #fd7020 !important;
  border: 1px solid #fd7020 !important;
}
html:not([data-ld-portal]) #ld-portal-fab {
  display: none !important;
}
html:not([data-ld-portal]) .price-grid,
html:not([data-ld-portal]) #planCards {
  align-items: stretch !important;
  grid-auto-rows: 1fr !important;
}
html:not([data-ld-portal]) .price-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  user-select: none;
}
html:not([data-ld-portal]) .price-card a,
html:not([data-ld-portal]) .price-card details,
html:not([data-ld-portal]) .price-card summary {
  user-select: text;
}
html:not([data-ld-portal]) .price-card .btn,
html:not([data-ld-portal]) .price-card .js-signup {
  margin-top: auto !important;
}
html:not([data-ld-portal]) .price-card.featured .price small,
html:not([data-ld-portal]) .price-card.featured .js-price-unit,
html:not([data-ld-portal]) .price-card.featured .sub,
html:not([data-ld-portal]) .price-card.featured .muted {
  color: rgba(255, 255, 255, .78) !important;
}
html:not([data-ld-portal]) .lm-bill-switch button {
  background: transparent !important;
  color: #425466 !important;
  box-shadow: none !important;
}
html:not([data-ld-portal]) .lm-bill-switch button.is-on {
  background: #fff !important;
  color: #0a1628 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .08) !important;
}
html:not([data-ld-portal]) .ld-alive-cta .btn-primary {
  background: #fff !important;
  color: #fd7020 !important;
  border-color: #fff !important;
}
html:not([data-ld-portal]) .drj-group-link.active,
html:not([data-ld-portal]) .drj-group-link:hover {
  color: #fd7020 !important;
}
html:not([data-ld-portal]) .grid.grid-3 {
  gap: 22px !important;
}

html:not([data-ld-portal]) .split > *:first-child,
html:not([data-ld-portal]) .hero-grid > *:first-child {
  text-align: left !important;
}

html:not([data-ld-portal]) .sales-strip {
  border-radius: 20px !important;
  padding: 36px 40px !important;
  background: #0a1628 !important;
  border: none !important;
}
html:not([data-ld-portal]) .sales-strip h2,
html:not([data-ld-portal]) .sales-strip p {
  color: #fff !important;
}

html:not([data-ld-portal]) .faq details,
html:not([data-ld-portal]) .ld-compex-seo details {
  text-align: left !important;
  max-width: 52rem !important;
  margin-left: 0 !important;
}

html:not([data-ld-portal]) table {
  font-size: 0.95rem !important;
}

/* Comparatif : plus d'air, moins de colonne étroite */
html:not([data-ld-portal]) .ld-compex-seo,
html:not([data-ld-portal]) .ld-offer-frame,
html:not([data-ld-portal]) .ld-compare-note {
  max-width: min(1160px, calc(100% - 2.5rem)) !important;
}
html:not([data-ld-portal]) .ld-offer-grid {
  gap: 1.25rem !important;
}

/* Popups site */
.ld-pub-overlay {
  position: fixed;
  inset: 0;
  z-index: 40000;
  background: rgba(10, 22, 40, .48);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.ld-pub-modal {
  background: #fff;
  border-radius: 16px;
  max-width: 420px;
  width: 100%;
  padding: 26px 26px 22px;
  box-shadow: 0 24px 60px rgba(10, 22, 40, .22);
  color: #0a1628;
}
.ld-pub-modal h3 {
  margin: 0 0 10px !important;
  font-size: 1.15rem !important;
}
.ld-pub-modal p {
  margin: 0 0 8px !important;
  font-size: 0.98rem !important;
  color: #425466 !important;
  line-height: 1.5 !important;
}
.ld-pub-modal-sub { font-size: 0.88rem !important; }
.ld-pub-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

/* Contraste : pastilles / boutons clairs sur fonds navy */
html:not([data-ld-portal]) .eyebrow.on-dark {
  background: rgba(255, 255, 255, .14) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .28) !important;
}
html:not([data-ld-portal]) .cta-banner .btn-light,
html:not([data-ld-portal]) .cta-banner .btn-ghost,
html:not([data-ld-portal]) .sales-strip .btn-light,
html:not([data-ld-portal]) .sales-strip .btn-ghost,
html:not([data-ld-portal]) section.dark .btn-light,
html:not([data-ld-portal]) section.dark .btn-ghost,
html:not([data-ld-portal]) .versus .btn-light,
html:not([data-ld-portal]) .versus .btn-ghost,
html:not([data-ld-portal]) .ld-alive-dark-cta .btn-light,
html:not([data-ld-portal]) .ld-alive-dark-cta .btn-ghost,
html:not([data-ld-portal]) .price-card.featured .btn-light,
html:not([data-ld-portal]) .price-card.featured .btn-ghost {
  background: #fff !important;
  color: #0a1628 !important;
  border-color: #fff !important;
}
html:not([data-ld-portal]) .cta-banner .btn-primary,
html:not([data-ld-portal]) .sales-strip .btn-primary,
html:not([data-ld-portal]) section.dark .btn-primary,
html:not([data-ld-portal]) .versus .btn-primary,
html:not([data-ld-portal]) .ld-alive-dark-cta .btn-primary,
html:not([data-ld-portal]) .price-card.featured .btn-primary {
  background: #fd7020 !important;
  color: #fff !important;
  border-color: #fd7020 !important;
}
html:not([data-ld-portal]) .price-card.featured {
  background: #0a1628 !important;
  color: #fff !important;
}
html:not([data-ld-portal]) .price-card.featured h3,
html:not([data-ld-portal]) .price-card.featured .price,
html:not([data-ld-portal]) .price-card.featured p,
html:not([data-ld-portal]) .price-card.featured li {
  color: #fff !important;
}
html:not([data-ld-portal]) .versus {
  background: #0a1628 !important;
  color: #fff !important;
}

@media (max-width: 900px) {
  html:not([data-ld-portal]) .grid.grid-2,
  html:not([data-ld-portal]) .split,
  html:not([data-ld-portal]) .hero-grid {
    gap: 24px !important;
  }
  html:not([data-ld-portal]) section.soft {
    padding: 48px 0 !important;
  }
}
