.elementor-4021 .elementor-element.elementor-element-15927a4{--display:flex;}.elementor-4021 .elementor-element.elementor-element-15927a4.e-con{--flex-grow:0;--flex-shrink:0;}body.elementor-page-4021:not(.elementor-motion-effects-element-type-background), body.elementor-page-4021 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-nvsitebg );background-image:url("https://sna.international/wp-content/uploads/2024/01/Galaxie-de-Bode-1-Light_Stack-avec-du-bleu.jpg");}@media(min-width:768px){.elementor-4021 .elementor-element.elementor-element-15927a4{--width:900px;}}/* Start custom CSS *//* ===== Thèmes & variables ===== */
.tarifs-wrap{
  /* Thème 1 : Nuit claire (défaut) */
  --bg-card: rgba(10,14,22,.55);       /* fond de ligne */
  --bg-head: rgba(20,26,38,.7);        /* entête */
  --bg-zebra: rgba(255,255,255,.04);   /* alternance */
  --text-main: #e9eef7;                /* texte principal */
  --text-dim: #b8c2d9;                 /* texte atténué */
  --accent: #7dd3fc;                   /* bleu glacial */
  --border: rgba(255,255,255,.16);
  --shadow: 0 6px 18px rgba(0,0,0,.25);
  --radius: 14px;
}

/* Thème 2 : Nébuleuse (ajoute .theme-nebuleuse à .tarifs-wrap) */
.tarifs-wrap.theme-nebuleuse{
  --bg-card: rgba(18,18,26,.55);
  --bg-head: rgba(48,38,84,.7);        /* violet profond */
  --bg-zebra: rgba(124,77,255,.08);    /* voile nébuleuse */
  --text-main: #f3f5fb;
  --text-dim: #cfd7ef;
  --accent: #a78bfa;                   /* lavande */
  --border: rgba(167,139,250,.35);
}

/* ===== Structure / titres ===== */
.tarifs-wrap{max-width:1000px; margin:0 auto; padding: .5rem 0;}
.tarifs-title{
  color:var(--text-main);
  margin:0 0 .75rem; line-height:1.2;
  text-shadow:0 1px 0 rgba(0,0,0,.35);
}
.tarifs-note{font-size:.95rem; color:var(--text-dim); margin:.6rem 0 0;}

/* ===== Table (desktop) ===== */
.tarifs-table{
  width:100%;
  border-collapse:separate;            /* permet le radius sur l’ensemble */
  border-spacing:0;
  font-size:1rem;
  color:var(--text-main);
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  border-radius: var(--radius);
  overflow:hidden;                     /* masque le radius */
  backdrop-filter:saturate(110%) blur(3px);
}
.tarifs-table thead th{
  background:var(--bg-head);
  color:var(--text-main);
  font-weight:700;
  letter-spacing:.02em;
}
.tarifs-table th,
.tarifs-table td{
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:.85rem 1rem;
  text-align:left;
  vertical-align:top;
  background:var(--bg-card);
}
.tarifs-table th:last-child,
.tarifs-table td:last-child{ border-right:none; }
.tarifs-table tbody tr:last-child td{ border-bottom:none; }

/* Alternance, lisibilité & interaction */
.tarifs-table tbody tr:nth-child(even) td{ background:var(--bg-zebra); }
.tarifs-table tbody tr:hover td{
  background:linear-gradient(0deg, rgba(255,255,255,.04), rgba(255,255,255,.04));
}

/* Mises en valeur douces */
.tarifs-table td[data-label="Prestation"]{ font-weight:600; }
.tarifs-table td em, .tarifs-table td i{ color:var(--accent); font-style:normal; }

/* Petits tirets élégants pour “—” uniquement si souhaité */
/* .tarifs-table td:has(> .dash), .dash{opacity:.7} */

/* ===== Mobile : cartes empilées ===== */
@media (max-width: 768px){
  .tarifs-table thead{ display:none; }
  .tarifs-table{ border-radius:0; box-shadow:none; border:none; }
  .tarifs-table,
  .tarifs-table tbody,
  .tarifs-table tr,
  .tarifs-table td{ display:block; width:100%; }

  .tarifs-table tr{
    background:transparent;
    margin:0 0 1rem;
    border:1px solid var(--border);
    border-radius: var(--radius);
    overflow:hidden;
    box-shadow: var(--shadow);
  }
  .tarifs-table td{
    background: var(--bg-card);
    border:none; border-top:1px solid var(--border);
    padding:.8rem 1rem .8rem 42%;      /* espace pour le label */
    position:relative; text-align:left;
  }
  .tarifs-table td:first-child{ border-top:none; }
  .tarifs-table tbody tr:nth-child(even) td{ background:var(--bg-zebra); }

  .tarifs-table td::before{
    content: attr(data-label);
    position:absolute; left:1rem; top:.8rem;
    width:36%;
    font-weight:650; color:var(--text-dim);
    white-space:normal; line-height:1.25;
  }
}

/* ===== Liens éventuels dans les cellules ===== */
.tarifs-table a{
  color:var(--accent); text-decoration:underline; text-decoration-thickness: .08em;
  text-underline-offset: .18em;
}
.tarifs-table a:hover{ opacity:.9; }/* End custom CSS */