/* ── PAGE: TARIFS ── */

.tarifs-hero{
  background:var(--gd);
  padding:140px 40px 60px;
  text-align:center;
  position:relative;overflow:hidden;
}
.tarifs-hero-glow{
  position:absolute;top:-160px;left:50%;transform:translateX(-50%);
  width:760px;height:760px;border-radius:50%;
  background:radial-gradient(circle, rgba(70,95,255,.18) 0%, transparent 70%);
  pointer-events:none;
}
.tarifs-hero-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.tarifs-hero h1{
  font-size:clamp(36px,5vw,60px);font-weight:800;color:#fff;
  letter-spacing:-2px;line-height:1.05;margin:20px 0 16px;
}
.tarifs-hero h1 em{
  font-style:normal;
  background:linear-gradient(135deg,var(--b300),var(--b400));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.tarifs-hero p{
  font-size:17px;color:var(--g400);line-height:1.65;
  max-width:560px;margin:0 auto;
}

/* Cards section sits over the hero by negative margin (lift effect) */
.tarifs-cards{
  margin-top:-60px;padding-bottom:96px;
  background:transparent;position:relative;z-index:2;
}
.tarifs-cards .pricing-grid{padding:0 40px}

/* Comparison table */
.tarifs-compare{
  background:var(--g50);
  padding:96px 40px;border-top:1px solid var(--g200);border-bottom:1px solid var(--g200);
}
.tarifs-compare-inner{max-width:1100px;margin:0 auto}
.tarifs-compare h2{
  font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--g900);
  letter-spacing:-1.2px;margin-bottom:14px;text-align:center;
}
.tarifs-compare > .tarifs-compare-inner > p{
  font-size:16px;color:var(--g500);text-align:center;margin-bottom:48px;
}
.tarifs-table-wrap{overflow-x:auto;border-radius:16px;border:1px solid var(--g200);background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.04)}
.tarifs-table{
  width:100%;border-collapse:collapse;font-size:14px;
  min-width:680px;
}
.tarifs-table thead th{
  text-align:left;padding:18px 24px;
  background:#fff;border-bottom:1px solid var(--g200);
  font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--g700);
}
.tarifs-table thead th.featured-col{
  color:var(--b600);background:var(--b50);
}
.tarifs-table tbody td{
  padding:14px 24px;border-bottom:1px solid var(--g100);
  color:var(--g700);vertical-align:middle;
}
.tarifs-table tbody td.featured-col{background:rgba(236,243,255,.5)}
.tarifs-table tbody tr:last-child td{border-bottom:none}
.tarifs-table .row-section td{
  background:var(--g50);font-weight:700;color:var(--g900);
  font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:10px 24px;
}
.tarifs-table .row-section td.featured-col{background:var(--g50)}
.tarifs-check{
  display:inline-flex;width:20px;height:20px;border-radius:50%;
  background:var(--ok0);align-items:center;justify-content:center;
}
.tarifs-dash{color:var(--g300);font-weight:700}
.tarifs-feature-name{font-weight:500;color:var(--g900)}

/* FAQ */
.tarifs-faq{
  background:#fff;padding:96px 40px;
}
.tarifs-faq-inner{max-width:760px;margin:0 auto}
.tarifs-faq h2{
  font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--g900);
  letter-spacing:-1.2px;margin-bottom:14px;text-align:center;
}
.tarifs-faq > .tarifs-faq-inner > p{
  font-size:16px;color:var(--g500);text-align:center;margin-bottom:48px;
}
.faq-item{
  border-bottom:1px solid var(--g200);
}
.faq-item:first-of-type{border-top:1px solid var(--g200)}
.faq-q{
  width:100%;background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px 4px;text-align:left;
  font-family:'Outfit',sans-serif;font-size:16px;font-weight:600;color:var(--g900);
}
.faq-q:hover{color:var(--b600)}
.faq-q-icon{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--g200);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:transform .2s, background .15s, border-color .15s;
}
.faq-item[open] .faq-q-icon{
  transform:rotate(45deg);
  background:var(--b500);border-color:var(--b500);color:#fff;
}
.faq-a{
  padding:0 4px 24px;color:var(--g500);font-size:15px;line-height:1.7;
}
.faq-a a{color:var(--b600);text-decoration:underline}

/* Final CTA */
.tarifs-cta{
  background:var(--gd);padding:96px 40px;text-align:center;
  position:relative;overflow:hidden;
}
.tarifs-cta-glow{
  position:absolute;bottom:-200px;left:50%;transform:translateX(-50%);
  width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle, rgba(70,95,255,.2) 0%, transparent 70%);
  pointer-events:none;
}
.tarifs-cta h2{
  font-size:clamp(32px,5vw,52px);font-weight:800;color:#fff;
  letter-spacing:-1.5px;line-height:1.1;margin-bottom:16px;
  position:relative;max-width:680px;margin-left:auto;margin-right:auto;
}
.tarifs-cta h2 em{
  font-style:normal;
  background:linear-gradient(135deg,var(--b300),var(--b400));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.tarifs-cta p{
  font-size:17px;color:var(--g400);margin-bottom:32px;position:relative;
}
.tarifs-cta-actions{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;
}

/* Mobile */
@media(max-width:900px){
  .tarifs-hero{padding:110px 20px 48px}
  .tarifs-cards{padding:0 0 64px;margin-top:-40px}
  .tarifs-cards .pricing-grid{padding:0 16px}
  .tarifs-compare{padding:64px 16px}
  .tarifs-faq{padding:64px 20px}
  .tarifs-cta{padding:64px 20px}
}
