/* Offers hub and shared bits for the charger product pages. */
.voltino-max-page .elvi-intro .elvi-kicker { border-color:var(--elvi-green); color:var(--elvi-green); font-weight:700; }
.elvi-faq details a { color:var(--elvi-green); font-weight:600; }

.offres-hero { max-width:900px; margin:auto; padding:60px 24px 30px; text-align:center; }
.offres-hero h1 { font-size:46px; line-height:1.1; font-weight:600; margin:14px 0 18px; }
.offres-hero p { font-size:17px; line-height:1.6; color:var(--elvi-muted); margin:0; }

.offres-chargers { max-width:1080px; margin:0 auto; padding:30px 24px 70px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.offre-card { position:relative; display:flex; flex-direction:column; border:1px solid #dce7e1; border-radius:10px; background:#fff; padding:30px 28px; box-shadow:0 18px 44px rgba(20,54,38,.07); }
.offre-card.is-recommended { border:2px solid var(--elvi-green); box-shadow:0 22px 55px rgba(18,90,62,.16); }
.offre-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); padding:6px 14px; border-radius:999px; background:var(--elvi-green); color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.offre-card img { display:block; width:220px; height:220px; object-fit:contain; margin:6px auto 14px; }
.offre-card h2 { font-size:26px; font-weight:600; margin:0 0 6px; }
.offre-card .offre-tagline { color:var(--elvi-muted); font-size:15px; margin:0 0 18px; }
.offre-prices { display:flex; flex-wrap:wrap; gap:6px 22px; align-items:baseline; padding:16px 0; border-top:1px solid #e5ebe7; border-bottom:1px solid #e5ebe7; margin-bottom:18px; }
.offre-prices strong { font-size:30px; font-weight:700; }
.offre-prices span { font-size:13px; color:var(--elvi-muted); }
.offre-points { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:10px; font-size:14px; line-height:1.5; }
.offre-points li { padding-left:24px; position:relative; }
.offre-points li::before { content:"✓"; position:absolute; left:0; color:var(--elvi-green); font-weight:800; }
.offre-card .elvi-button { margin-top:auto; }
.offre-card .elvi-text-link { justify-content:center; margin-top:14px; }

.offres-compare { background:#eef4f1; border-top:1px solid #dfe9e3; border-bottom:1px solid #dfe9e3; padding:70px 24px; }
.offres-compare h2,.offres-other h2 { text-align:center; font-size:34px; font-weight:500; margin:0 0 30px; }
.offres-table-wrap { max-width:900px; margin:auto; overflow-x:auto; border-radius:10px; background:#fff; border:1px solid #dce7e1; }
.offres-table { width:100%; border-collapse:collapse; font-size:14px; min-width:520px; }
.offres-table th,.offres-table td { padding:14px 16px; text-align:left; border-bottom:1px solid #e5ebe7; vertical-align:top; }
.offres-table thead th { font-size:15px; background:#f7faf8; }
.offres-table thead th.is-recommended { color:var(--elvi-green); }
.offres-table tbody th { font-weight:600; color:var(--elvi-muted); width:34%; }
.offres-table tr:last-child th,.offres-table tr:last-child td { border-bottom:0; }
.offres-compare .elvi-note { max-width:900px; margin:16px auto 0; text-align:center; }

.offres-other { max-width:1080px; margin:auto; padding:80px 24px; }
.offres-other-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.offre-service { border:1px solid #dce7e1; border-radius:10px; padding:28px; background:#fbfdfc; display:flex; flex-direction:column; }
.offre-service h3 { font-size:22px; font-weight:600; margin:6px 0 10px; }
.offre-service p { font-size:15px; line-height:1.6; color:var(--elvi-muted); margin:0 0 18px; }
.offre-service .offre-from { font-size:14px; color:var(--elvi-ink); margin-top:auto; }
.offre-service .offre-from strong { font-size:22px; }
.offre-service .elvi-text-link { margin-top:14px; }

@media(max-width:800px) {
  .offres-hero { padding:40px 20px 20px; }
  .offres-hero h1 { font-size:34px; }
  .offres-hero p { font-size:15px; }
  .offres-chargers,.offres-other-grid { grid-template-columns:1fr; gap:34px; }
  .offres-chargers { padding:24px 16px 50px; }
  .offre-card { padding:28px 20px; }
  .offre-card img { width:180px; height:180px; }
  .offres-compare { padding:50px 16px; }
  .offres-compare h2,.offres-other h2 { font-size:27px; }
  .offres-other { padding:55px 16px; }
}
.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
