.elementor-974 .elementor-element.elementor-element-f313a4c{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-f313a4c *//* ===============================
   PAGE PAIEMENT — Prof&Vous
   (2 colonnes : Cours + Abonnements séparés)
================================= */

.pv-pay{
  --pv-ink:#1E1E1E;
  --pv-muted:#6E6B67;
  --pv-accent:#55C6C3;
  --pv-accent-strong:#3BB3B0;
  --pv-white:#FFFFFF;

  max-width: 1180px;
  margin: 56px auto;
  padding: 56px 28px;
  background: var(--pv-white);
  border: 1px solid rgba(0,0,0,.04);
  border-radius: 28px;
  box-shadow: 0 12px 40px rgba(0,0,0,.06);
  position: relative;
}

.pv-pay::before{
  content:"";
  position:absolute;
  left:28px; right:28px; top:0;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--pv-accent), var(--pv-accent-strong));
  opacity:.7;
}

.pv-pay-head{
  text-align:center;
  margin-bottom: 26px;
}

.pv-pay-head h2{
  font-family:"Lexend", system-ui, sans-serif;
  font-weight:800;
  font-size: clamp(26px, 4vw, 36px);
  color: var(--pv-ink);
  margin: 0 0 8px 0;
}

.pv-pay-sub{
  margin:0;
  color: var(--pv-muted);
  line-height:1.6;
  max-width: 920px;
  margin-inline: auto;
}

/* Grid */
.pv-pay-grid{
  display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 22px;
  margin-top: 26px;
  align-items: start;
}

/* Cards */
.pv-pay-card{
  background: var(--pv-white);
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.08);
  padding: 38px 32px;
  display:flex;
  flex-direction:column;
  gap: 14px;
  border: 1px solid rgba(0,0,0,.05);
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.pv-pay-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  border-radius:24px 24px 0 0;
  background: linear-gradient(90deg, var(--pv-accent), var(--pv-accent-strong));
  opacity:.9;
}

.pv-pay-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 26px 90px rgba(85,198,195,.18);
  border-color: rgba(0,0,0,.10);
  background: linear-gradient(180deg, rgba(85,198,195,.05), rgba(85,198,195,.05)), #fff;
}

/* Badge */
.pv-pay-badge{
  align-self:flex-start;
  background: rgba(85,198,195,.16);
  color:#0E4A48;
  font-weight:800;
  font-size:12px;
  letter-spacing:.4px;
  padding: 7px 12px;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(85,198,195,.20);
}
.pv-pay-badge--alt{
  background: rgba(234,242,255,.9);
  color:#1F4AA8;
  box-shadow: 0 8px 18px rgba(49,107,255,.10);
}

/* Titles */
.pv-pay-card h3{
  font-family:"Lexend", system-ui, sans-serif;
  font-weight:800;
  font-size:22px;
  color: var(--pv-ink);
  margin: 2px 0 0 0;
}

.pv-pay-note{
  margin:0;
  color: var(--pv-muted);
  line-height:1.55;
}
.pv-pay-note--mini{
  font-size: 13px;
  color: rgba(30,30,30,.58);
}

/* List */
.pv-pay-list{
  list-style:none;
  padding:0;
  margin: 6px 0 0 0;
  display:grid;
  gap:10px;
}

.pv-pay-list li{
  position:relative;
  padding-left:26px;
  color:#2D2D2D;
  line-height:1.5;
}

.pv-pay-list li::before{
  content:"✓";
  position:absolute;
  left:0; top:0;
  color:#2E7D32;
  font-weight:900;
}

/* Form rows */
.pv-pay-row{
  display:grid;
  gap: 8px;
  margin-top: 2px;
}

.pv-pay-row label{
  font-weight: 800;
  color: var(--pv-ink);
  font-size: 14px;
}

/* Select */
.pv-pay select{
  width:100%;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  padding: 0 14px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(210,232,255,.18);
  outline: none;
}

.pv-pay select:focus{
  border-color: rgba(85,198,195,.55);
  box-shadow: 0 0 0 6px rgba(85,198,195,.15), 0 10px 24px rgba(210,232,255,.18);
}

/* Radio pills */
.pv-pay-radio{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}

.pv-pay-radio label{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: linear-gradient(180deg, #fff, #fff);
  box-shadow: 0 10px 24px rgba(210,232,255,.12);
  cursor: pointer;
  user-select:none;
  font-weight: 700;
}

.pv-pay-radio input{
  accent-color: var(--pv-accent-strong);
}

/* Table tarifs */
.pv-pay-tableWrap{
  margin-top: 6px;
  padding: 14px 14px 10px;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.06);
  background: linear-gradient(180deg, rgba(85,198,195,.06), rgba(85,198,195,.03));
}

.pv-pay-table{
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 10px 24px rgba(210,232,255,.10);
}

.pv-pay-table th{
  background: linear-gradient(180deg, #F7F9FC, #EEF4FF);
  color: var(--pv-ink);
  font-weight: 900;
  padding: 12px 12px;
  text-align: center;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: 13.5px;
}

.pv-pay-table td{
  padding: 12px 12px;
  text-align: center;
  border-top: 1px solid rgba(0,0,0,.05);
  color: #333;
  font-weight: 700;
}

.pv-pay-hint{
  margin: 10px 2px 0;
  font-size: 12.5px;
  color: rgba(30,30,30,.60);
}

/* Summary */
.pv-pay-summary{
  margin-top: 4px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.06);
  background: linear-gradient(180deg, rgba(85,198,195,.06), rgba(85,198,195,.03));
}

.pv-pay-line{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 6px 0;
  color:#2D2D2D;
}

.pv-pay-line strong{
  font-family:"Lexend", system-ui, sans-serif;
  font-weight: 900;
}

/* Buttons */
.pv-pay-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  width:100%;
  border-radius:999px;
  font-weight:800;
  letter-spacing:.2px;
  text-decoration:none !important;
  color:#fff !important;
  background: linear-gradient(180deg, var(--pv-accent), var(--pv-accent-strong));
  border: 1px solid rgba(59,179,176,.35);
  box-shadow: 0 8px 20px rgba(85,198,195,.26);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.pv-pay-btn:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(85,198,195,.35),
              0 0 0 6px rgba(85,198,195,.15);
}

/* Ghost buttons for subcards (same style but a touch softer) */
.pv-pay-btn--ghost{
  height: 46px;
  box-shadow: 0 8px 18px rgba(85,198,195,.18);
}
.pv-pay-btn--ghost:hover{
  box-shadow: 0 14px 30px rgba(85,198,195,.26),
              0 0 0 6px rgba(85,198,195,.12);
}

/* Disabled state */
.pv-pay-btn.is-disabled{
  pointer-events:none;
  filter: grayscale(.2);
  opacity:.55;
  box-shadow: none;
}

/* Abonnements subcards */
.pv-pay-subcards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 4px;
}

.pv-pay-subcard{
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.9);
  box-shadow: 0 10px 24px rgba(210,232,255,.10);
  padding: 16px 16px 14px;
}

.pv-pay-subcard--premium{
  background: linear-gradient(180deg, rgba(31,74,168,.06), rgba(31,74,168,.03)), rgba(255,255,255,.92);
}

.pv-pay-subcard h4{
  margin: 0 0 6px 0;
  font-family:"Lexend", system-ui, sans-serif;
  font-weight: 900;
  font-size: 16px;
  color: var(--pv-ink);
}

.pv-pay-subprice{
  margin: 0 0 10px 0;
  color: #2D2D2D;
  font-size: 14px;
}

/* Trust line */
.pv-pay-trust{
  margin-top: 22px;
  text-align:center;
  color: var(--pv-muted);
  font-size: 14px;
}

/* Responsive */
@media (max-width: 1024px){
  .pv-pay{
    padding: 44px 22px;
    margin: 44px auto;
  }
  .pv-pay-grid{
    grid-template-columns: 1fr;
  }
  .pv-pay-card{
    padding: 30px 24px;
  }
}

@media (max-width: 767px){
  .pv-pay{
    padding: 36px 18px;
    border-radius: 22px;
    margin: 36px auto;
  }
  .pv-pay-card{
    padding: 26px 20px;
    border-radius: 20px;
  }
  .pv-pay-table th,
  .pv-pay-table td{
    padding: 10px 10px;
    font-size: 13px;
  }
}/* End custom CSS */