/* offres.html — finition main : cartes / tableau pages-live, FAQ style index, CTA rectangulaire */

/* —— 3 cartes niveaux (fidélité pages-live) —— */
.pg-offres .ofc-sec{padding:24px 0 96px}
.pg-offres .ofcs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  align-items:stretch;
}
.pg-offres .ofc{
  background:var(--ivory);
  border:1px solid var(--line);
  border-radius:var(--ro,20px);
  padding:34px 32px 26px;
  display:flex;
  flex-direction:column;
  scroll-margin-top:120px;
  min-width:0;
  max-width:100%;
}
.pg-offres .ofc-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pg-offres .ofc-top .onum{
  display:grid;place-items:center;
  width:44px;height:44px;border-radius:999px;
  background:#fff;border:1px solid var(--gold);
  font-size:19px;margin:0;flex:none;
}
.pg-offres .ofc h2{font-size:26px;font-weight:500;margin-bottom:10px}
.pg-offres .ofc .desc{color:var(--ink-soft);font-size:15.5px;margin-bottom:24px;min-height:3.2em}
.pg-offres .ofc-steps{
  list-style:none;margin:0 0 22px;padding:16px 18px;counter-reset:s;
  background:#fff;border:1px solid var(--line);border-radius:14px;
}
.pg-offres .ofc-foot{
  margin-top:auto;display:flex;align-items:center;
  justify-content:space-between;gap:12px;
  padding-top:18px;border-top:1px solid var(--line);
}
/* « Sur demande » : pas le style uppercase du label Tarif */
.pg-offres .ofc-foot .otarif [data-i18n="niv.prix"]{
  font-family:'Playfair Display',Georgia,serif;
  font-size:19px;
  font-weight:400;
  letter-spacing:-.015em;
  text-transform:none;
  color:var(--ink);
}

/* Segments I / II / III : seul le chiffre romain est italic or */
.pg-offres .oseg a > span[data-i18n]{
  font-family:inherit;
  font-style:normal;
  font-size:inherit;
  color:inherit;
}

/* —— Tableau comparatif —— */
.pg-offres .cmp-sec2{padding:96px 0;background:var(--paper)}
.pg-offres .cmp2-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:64px;
  align-items:end;
  margin-bottom:40px;
}
.pg-offres .cmp2-head h2{font-size:clamp(28px,3vw,38px)}
.pg-offres .cmp2-head p{color:var(--ink-soft);font-size:16.5px;max-width:440px}
.pg-offres .cmp2-wrap{
  background:#fff;
  border-radius:var(--ro,20px);
  padding:10px 14px;
  border:1px solid var(--line);
  max-width:100%;
}
.pg-offres .cmp2{width:100%;border-collapse:separate;border-spacing:0 6px;table-layout:fixed}
.pg-offres .cmp2 thead th{text-align:center;padding:16px 12px 10px;font-weight:400;vertical-align:bottom}
.pg-offres .cmp2 thead th.cap{
  text-align:left;width:40%;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:600;padding-left:20px;
}
.pg-offres .cmp2 thead .onum{display:block;font-size:20px;margin:0 0 4px}
.pg-offres .cmp2 thead b{font-family:'Playfair Display',serif;font-size:18px;font-weight:500;color:var(--ink)}
.pg-offres .cmp2 tbody th,.pg-offres .cmp2 tbody td{background:var(--ivory);padding:14px 12px}
.pg-offres .cmp2 tbody th{
  text-align:left;font-weight:500;font-size:15px;color:var(--ink);
  padding-left:20px;border-radius:14px 0 0 14px;
}
.pg-offres .cmp2 tbody td{text-align:center}
.pg-offres .cmp2 tbody td:last-child{border-radius:0 14px 14px 0}
.pg-offres .cmp2 .ck{
  display:inline-grid;place-items:center;
  width:28px;height:28px;border-radius:999px;
  background:var(--ink);color:#fff;font-size:13px;
}

/* —— FAQ : style index (lignes, pas de cartes blanches arrondies) —— */
.pg-offres #faq.band{background:var(--paper)}
.pg-offres .faq{
  border-top:1px solid var(--line);
  max-width:820px;
  margin:0 auto;
}
.pg-offres .faq details{
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  padding:22px 0 !important;
  margin-bottom:0 !important;
  background:transparent !important;
}
.pg-offres .faq summary{
  font-family:'Playfair Display',Georgia,serif;
  font-weight:400;
  font-size:19px;
  line-height:1.35;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  cursor:pointer;
}
.pg-offres .faq summary::-webkit-details-marker{display:none}
.pg-offres .faq summary::after{
  content:"+";
  font-family:'Inter',sans-serif;
  color:var(--gold-dark);
  font-size:20px;
  font-weight:300;
  line-height:1;
  flex:none;
}
.pg-offres .faq details[open] summary::after{content:"−"}
.pg-offres .faq details p{
  font-size:14.5px;
  line-height:1.65;
  color:var(--ink-soft);
  margin-top:10px;
  max-width:680px;
}

/* —— Bandeau CTA rectangulaire (un seul, coins ≤ 4 px) —— */
.offres-cta{padding:40px 0 24px}
.offres-cta-box{
  min-height:158px;
  background:var(--cream);
  border-radius:4px;
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:center;
  justify-content:space-between;
  padding:32px 48px;
  max-width:100%;
  box-sizing:border-box;
}
.offres-cta-box h2{font-size:clamp(28px,2.5vw,36px);margin-bottom:6px}
.offres-cta-box p{font-size:14.5px;color:var(--ink-soft);margin-top:0}
.offres-cta-box .btn{
  height:50px;
  font-size:13.5px;
  border-radius:4px;
  flex:none;
}

@media (max-width:1024px){
  .pg-offres .ofcs{grid-template-columns:1fr;max-width:640px}
  .pg-offres .ofc .desc{min-height:0}
}

@media (max-width:900px){
  .pg-offres .cmp2-wrap,.pg-offres .cmp2-head p{display:none}
  .pg-offres .cmp2-head{grid-template-columns:1fr;margin-bottom:0}
  .pg-offres .cmp-sec2{display:none}
  .pg-offres .ofc-inc{display:block;margin-bottom:22px}
  .offres-cta{padding:32px 0 16px}
  .offres-cta-box{padding:28px 24px}
  .offres-cta-box .btn{width:100%;justify-content:center}
}

@media (max-width:600px){
  .pg-offres .ofc{padding:26px 22px 22px}
  .pg-offres .ofc h2{font-size:23px}
  .pg-offres .ofc-sec{padding:16px 0 64px}
  .pg-offres .ofc-foot{flex-wrap:wrap}
  .pg-offres .faq details{padding:22px 0 !important}
  .pg-offres .oseg{max-width:100%}
  .pg-offres .oseg a{max-width:100%;box-sizing:border-box}
}

/* 390 px : pas de scroll horizontal dans le main */
@media (max-width:390px){
  .pg-offres .ofc,
  .pg-offres .offres-cta-box,
  .pg-offres .oseg{min-width:0;max-width:100%}
  .pg-offres .ofc-link{white-space:normal}
  .offres-cta-box{padding:24px 18px;gap:18px}
}
