/* oppositioncartebancaire.fr — feuille de style du nouveau rendu (refonte SEO 2026-10). Couleurs du theme d'origine. */
:root { --c-main:#24c4f4; --c-main-d:#0e9fcc; --c-dark:#222; --c-text:#343739; --c-grey:#848484; --c-line:#e5e5e5; --c-bg:#f7f7f7; --c-violet:#ad0f7c; --c-violet-d:#86045e; }
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:#fff; color:var(--c-text); font:16px/1.65 'Open Sans',Arial,sans-serif; }
img { max-width:100%; height:auto; }
a { color:var(--c-main-d); }
a:hover { color:var(--c-violet); }
h1,h2,h3 { font-family:'Poppins',Arial,sans-serif; color:var(--c-dark); line-height:1.3; }
h1 { font-size:1.9rem; margin:.4em 0 .2em; }
h2 { font-size:1.4rem; margin:1.8em 0 .6em; padding-top:.2em; border-top:1px solid var(--c-line); }
h3 { font-size:1.12rem; margin:1.3em 0 .4em; }
.wrap { max-width:1100px; margin:0 auto; padding:0 16px; }
.small { font-size:.85rem; color:var(--c-grey); }

/* En-tete */
.hd { border-bottom:3px solid var(--c-main); }
.hd__top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; }
.hd__logo img { display:block; width:160px; }
.hd__cta { text-align:center; }
.hd__cta-t { margin:0 0 4px; font-weight:600; font-size:.9rem; color:var(--c-dark); }
.hd__cta-n { margin:4px 0 0; font-size:.75rem; color:var(--c-grey); }
.hd__tel { text-decoration:none; }

/* Numero de mise en relation (meme rendu que l'ancien site) */
.numOpposition { display:inline-flex; align-items:stretch; padding:2px 2px 2px 0; border:1px solid #b3b3b3; box-shadow:0 3px 4px #d6d6d6; border-radius:10px; background:#fff; }
.numOpposition_l { padding:0 10px; font:700 22px/34px Arial,sans-serif; letter-spacing:-.5px; color:var(--c-violet); white-space:nowrap; }
.numOpposition_r { border-radius:7px; background:linear-gradient(var(--c-violet),var(--c-violet-d)); display:flex; align-items:center; }
.numOpposition_r > span, .numOpposition_r > div { background:url(/images/numOpposition_r.png) no-repeat left center; padding:3px 12px 3px 16px; font:10px/1.3 Arial,sans-serif; color:#fff; text-align:left; }
a.serviceRsmt { background:url(/css/images/serviceRsmt.jpg) no-repeat; height:282px; margin:1em auto; max-width:100%; width:425px; display:block; text-decoration:none; text-align:center; border-radius:.4em; overflow:hidden; }
a.serviceRsmt div.lbl { font-size:1.15em; color:#fff; height:175px; padding:25px 10px 0 205px; line-height:1.4; text-align:left; }
a.serviceRsmt div.note { background:#eaf9ff; font:10px/20px Arial,sans-serif; color:#666; width:100%; border-radius:0 0 .4em .4em; margin-top:10px; }
.cta-paid { margin:1.2em 0; padding:14px; border:2px solid var(--c-violet); border-radius:10px; background:#fdf3fa; text-align:center; }
.cta-paid__lead { margin:0; font-weight:600; color:var(--c-dark); }
.cta-paid__note { margin:.4em 0 0; font-size:.78rem; color:var(--c-grey); }
.cta-paid a.serviceRsmt { margin:.6em auto; }

/* Menu */
.nav { background:var(--c-dark); }
.nav__toggle { display:none; margin:8px 0; padding:8px 14px; background:var(--c-main); color:#fff; border:0; border-radius:4px; font-weight:600; cursor:pointer; }
.nav__list { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; }
.nav__item { position:relative; }
.nav__item > a { display:block; padding:12px 10px; color:#fff; text-decoration:none; font-family:'Poppins',Arial,sans-serif; font-size:.9rem; }
.nav__item > a:hover, .nav__item:focus-within > a { background:var(--c-main); color:#fff; }
.nav__sub { list-style:none; margin:0; padding:6px 0; position:absolute; left:0; top:100%; min-width:260px; background:#fff; border:1px solid var(--c-line); box-shadow:0 6px 18px rgba(0,0,0,.12); display:none; z-index:20; }
.nav__item.has-sub:hover .nav__sub, .nav__item.has-sub:focus-within .nav__sub { display:block; }
.nav__sub a { display:block; padding:7px 16px; color:var(--c-text); text-decoration:none; font-size:.92rem; }
.nav__sub a:hover { background:var(--c-bg); color:var(--c-main-d); }

/* Contenu */
.main { padding-bottom:30px; }
.crumbs { margin:14px 0 0; font-size:.85rem; color:var(--c-grey); }
.crumbs a { color:var(--c-grey); }
.content { max-width:820px; }
.maj { margin:0 0 1em; font-size:.85rem; color:var(--c-grey); }
.enbref { margin:1em 0 1.4em; padding:14px 18px; background:#eefaff; border-left:5px solid var(--c-main); border-radius:4px; }
.enbref__t { margin:0 0 .3em; font-family:'Poppins',Arial,sans-serif; font-weight:600; color:var(--c-dark); }
.enbref ul { margin:0; padding-left:1.2em; }
.enbref li { margin:.25em 0; }
.tbl { width:100%; border-collapse:collapse; margin:1em 0; font-size:.95rem; }
.tbl th, .tbl td { border:1px solid var(--c-line); padding:8px 10px; text-align:left; vertical-align:top; }
.tbl th { background:var(--c-bg); font-family:'Poppins',Arial,sans-serif; font-weight:600; }
.tbl-wrap { overflow-x:auto; }
.steps { padding-left:1.3em; }
.steps li { margin:.4em 0; }
.note { padding:10px 14px; background:var(--c-bg); border-radius:4px; }
pre.note { white-space:pre-wrap; word-wrap:break-word; font:14px/1.5 Consolas,Menlo,monospace; border:1px solid var(--c-line); }
.alerte { padding:10px 14px; background:#fff6e5; border-left:4px solid #f0a500; border-radius:4px; }
.faq h3 { margin-top:1.1em; }
.faq__a p { margin:.3em 0 .8em; }
.officiel { margin-top:2em; }
.sources ul, .liens ul { padding-left:1.2em; }
.grille-banques { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:8px; }
.grille-banques a { display:block; padding:8px 10px; border:1px solid var(--c-line); border-radius:6px; text-decoration:none; color:var(--c-text); background:#fff; }
.grille-banques a:hover { border-color:var(--c-main); color:var(--c-main-d); }
.btn-dl { display:inline-block; padding:8px 14px; margin:4px 6px 4px 0; border-radius:5px; background:var(--c-main); color:#fff; text-decoration:none; font-weight:600; }

/* Pied de page */
.ft { margin-top:40px; background:var(--c-dark); color:#ccc; font-size:.9rem; }
.ft__cols { display:flex; flex-wrap:wrap; gap:30px; padding:26px 16px; }
.ft__cols ul { list-style:none; margin:0; padding:0; }
.ft__cols li { margin:.3em 0; }
.ft a { color:#fff; }
.ft__note { flex:1 1 300px; margin:0; color:#aaa; font-size:.82rem; }
.ft__copy { margin:0; padding:10px 16px; text-align:center; background:#111; color:#888; font-size:.8rem; }

/* Bandeau cookies */
.cookies { position:fixed; left:12px; right:12px; bottom:12px; z-index:50; max-width:640px; margin:0 auto; padding:12px 16px; background:#fff; border:1px solid var(--c-line); border-radius:8px; box-shadow:0 6px 24px rgba(0,0,0,.18); font-size:.88rem; }
.cookies[hidden] { display:none; }
.cookies p { margin:.3em 0; }
.cookies button { padding:7px 16px; border:1px solid var(--c-main); border-radius:4px; background:#fff; color:var(--c-main-d); font-weight:600; cursor:pointer; }
.cookies button[data-c="1"] { background:var(--c-main); color:#fff; }

/* Barre d'appel collante (mobile uniquement, hauteur < 15 % de l'ecran, tarif visible) */
.sticky-tel { display:none; }
.dl { margin:.2em 0 1.4em; }
.btn-dl:hover { color:#fff; background:var(--c-main-d); }

@media (max-width:760px) {
  h1 { font-size:1.5rem; }
  h2 { font-size:1.22rem; }
  .hd__top { justify-content:center; }
  .nav__toggle { display:block; }
  .nav__list { display:none; flex-direction:column; }
  .nav__list.is-open { display:flex; }
  .nav__sub { position:static; display:block; box-shadow:none; border:0; background:#2d2d2d; }
  .nav__sub a { color:#ddd; padding-left:28px; }
  a.serviceRsmt { transform:scale(.82); transform-origin:center top; margin-bottom:-40px; }
  .sticky-tel { display:flex; align-items:center; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:40; padding:7px 12px;
    background:linear-gradient(var(--c-violet),var(--c-violet-d)); color:#fff; text-decoration:none; box-shadow:0 -2px 10px rgba(0,0,0,.2); }
  .sticky-tel__n { font:700 20px/1 Arial,sans-serif; white-space:nowrap; }
  .sticky-tel__t { font-size:10.5px; line-height:1.3; }
  body.has-sticky { padding-bottom:64px; }
  .has-sticky .cookies { bottom:68px; }
}
