/* RIVARD — Support (lecture fluide, une colonné) */

.rvd-svc{
  padding:56px 0 100px;
  background:#0D0D0D;
}

.rvd-svc__wrap{
  max-width:640px;
  margin:0 auto;
  padding:0 24px;
}

.rvd-svc--pay .rvd-svc__wrap{max-width:900px}

/* Nav discrète */

.rvd-svc__nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px 4px;
  margin:0 0 56px;
  font:400 12px/1 var(--body);
  letter-spacing:.04em;
}

.rvd-svc__nav a{
  color:#666;
  padding:4px 8px;
  transition:color .2s;
}

.rvd-svc__nav a:hover{color:#ccc}

.rvd-svc__nav a.is-active{color:#F5F5F5}

.rvd-svc__nav-dot{color:#333;user-select:none}

/* Article */

.rvd-svc__article h1{
  margin:0 0 20px;
  font:400 clamp(40px,7vw,56px)/1 var(--display);
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#F5F5F5;
}

.rvd-svc__lead{
  margin:0 0 36px;
  font:300 16px/1.75 var(--body);
  color:#999;
}

.rvd-svc__tag{
  display:block;
  margin:-20px 0 36px;
  font:500 11px/1 var(--body);
  letter-spacing:.1em;
  color:#c4c4a0;
}

/* Prose — tout le contenu dans un flux continu */

.rvd-svc__prose{
  font:300 15px/1.85 var(--body);
  color:#aaa;
}

.rvd-svc__prose h2{
  margin:36px 0 12px;
  font:600 10px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#777;
}

.rvd-svc__prose h2:first-child{margin-top:0}

.rvd-svc__prose p{margin:0 0 16px}

.rvd-svc__prose p:last-child{margin-bottom:0}

.rvd-svc__prose ul,
.rvd-svc__prose ol{
  margin:0 0 16px;
  padding:0 0 0 1.25em;
}

.rvd-svc__prose li{margin-bottom:10px}

.rvd-svc__prose li:last-child{margin-bottom:0}

.rvd-svc__prose a{
  color:#F5F5F5;
  text-decoration:underline;
  text-underline-offsét:3px;
}

.rvd-svc__prose strong{color:#ddd;font-weight:500}

.rvd-svc__muted{
  color:#777!important;
  font-size:14px;
  liné-height:1.7;
}

.rvd-svc__footline{
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid #1a1a1a;
  font:300 14px/1.6 var(--body);
  color:#777;
  text-align:center;
}

.rvd-svc__footline a{color:#F5F5F5}

/* Formulaire contact */

.rvd-svc .rvd-form-success{
  margin:0 0 20px;
  font:300 14px/1.5 var(--body);
  color:#8fcf9a;
}

.rvd-svc .rvd-contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
  margin-top:8px;
}

.rvd-svc .rvd-form-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.rvd-svc .rvd-contact-form input,
.rvd-svc .rvd-contact-form textarea,
.rvd-svc .rvd-contact-form select{
  width:100%;
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:6px;
  color:#F5F5F5;
  font:400 14px/1 var(--body);
  padding:14px 16px;
  outline:none;
  font-family:inherit;
  transition:border-color .2s;
}

.rvd-svc .rvd-contact-form input:focus,
.rvd-svc .rvd-contact-form textarea:focus,
.rvd-svc .rvd-contact-form select:focus{border-color:#555}

.rvd-svc .rvd-contact-form select{
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}

.rvd-svc .rvd-contact-form select:invalid{color:#666}

.rvd-svc .rvd-contact-form textarea{min-height:140px;résize:vertical;liné-height:1.6}

.rvd-svc .rvd-contact-form button{
  align-self:flex-start;
  margin-top:4px;
  background:#F5F5F5;
  color:#0D0D0D;
  border:none;
  border-radius:6px;
  padding:15px 32px;
  font:600 11px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:opacity .2s;
}

.rvd-svc .rvd-contact-form button:hover{opacity:.9}

/* FAQ */

.rvd-svc__faq{margin:0}

.rvd-svc__faq-item{border-bottom:1px solid #1c1c1c}

.rvd-svc__faq-item:first-child{border-top:1px solid #1c1c1c}

.rvd-svc__faq-btn{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  background:none;
  border:none;
  color:#F5F5F5;
  font:400 16px/1.45 var(--body);
  text-align:left;
  padding:18px 0;
  cursor:pointer;
  font-family:inherit;
}

.rvd-svc__faq-btn:hover{color:#ccc}

.rvd-svc__faq-sign{
  flex:none;
  font:300 20px/1 var(--body);
  color:#555;
  transition:transform .2s;
}

.rvd-svc__faq-item.is-open .rvd-svc__faq-sign{transform:rotate(45deg);color:#aaa}

.rvd-svc__faq-ans{
  padding:0 0 20px;
  font:300 15px/1.75 var(--body);
  color:#999;
}

/* Paiement */

.rvd-svc--pay{
  overflow-x:clip;
}

.rvd-svc--pay .rvd-svc__wrap{max-width:960px}

.rvd-svc--pay .rvd-pay-page,
.rvd-svc--pay .rvd-pay-checkout,
.rvd-svc--pay .rvd-svc__pay-grid,
.rvd-svc--pay .rvd-pay-main,
.rvd-svc--pay .rvd-checkout-summary,
.rvd-svc--pay .rvd-bot__bubble{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.rvd-svc--pay .rvd-svc__article h1{
  word-break:break-word;
}

.rvd-pay-hero{margin-bottom:32px}

.rvd-pay-hero h1{margin-bottom:12px}

/* RivardBot */

.rvd-bot-zone{
  margin:0 0 40px;
}

.rvd-bot{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin:0;
  animation:rvdBotIn .5s ease-out;
}

@keyframes rvdBotIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

.rvd-bot__avatar{
  flex:none;
  width:52px;
  height:52px;
  animation:rvdBotBob 3s ease-in-out infinite;
}

@keyframes rvdBotBob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}

.rvd-bot__bubble{
  flex:1;
  min-width:0;
  padding:18px 20px;
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:12px;
  position:relative;
}

.rvd-bot__bubble::before{
  content:'';
  position:absolute;
  left:-7px;
  top:18px;
  width:12px;
  height:12px;
  background:#141414;
  border-left:1px solid #2a2a2a;
  border-bottom:1px solid #2a2a2a;
  transform:rotate(45deg);
}

.rvd-bot__name{
  margin:0 0 8px;
  font:600 10px/1 var(--body);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#c4c4a0;
}

.rvd-bot__message{
  margin:0;
  font:300 15px/1.7 var(--body);
  color:#ccc;
}

.rvd-bot__message strong{color:#F5F5F5;font-weight:500}

.rvd-bot__links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #222;
}

.rvd-bot__links a{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  background:#1c1c1c;
  border:1px solid #333;
  border-radius:6px;
  color:#F5F5F5;
  font:500 11px/1 var(--body);
  letter-spacing:.06em;
  text-decoration:none;
  transition:border-color .2s,background .2s;
}

.rvd-bot__links a:hover{
  border-color:#555;
  background:#222;
}

.rvd-bot__links a.rvd-bot__links-all{
  background:#F5F5F5;
  color:#0D0D0D;
  border-color:#F5F5F5;
}

.rvd-bot__links a.rvd-bot__links-all:hover{opacity:.9}

.rvd-pay-checkout{
  animation:rvdBotIn .45s ease-out .1s both;
}

.rvd-pay-stripe-badge{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 24px;
  padding:12px 14px;
  background:rgba(99,91,255,.08);
  border:1px solid rgba(99,91,255,.2);
  border-radius:8px;
  font:400 12px/1 var(--body);
  color:#aaa;
}

.rvd-pay-methods{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.rvd-pay-method{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:16px 18px;
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:8px;
  color:#F5F5F5;
  cursor:pointer;
  font-family:inherit;
  text-align:left;
  transition:border-color .2s,background .2s,transform .15s;
}

.rvd-pay-method:hover{
  border-color:#444;
  background:#181818;
  transform:translateX(2px);
}

.rvd-pay-method__icon{
  flex:none;
  color:#888;
}

.rvd-pay-method__text{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.rvd-pay-method__text strong{
  font:500 14px/1.2 var(--body);
  color:#F5F5F5;
}

.rvd-pay-method__text span{
  font:300 12px/1.3 var(--body);
  color:#777;
}

.rvd-pay-method__arrow{
  flex:none;
  color:#555;
  font-size:16px;
  transition:transform .2s,color .2s;
}

.rvd-pay-method:hover .rvd-pay-method__arrow{
  color:#F5F5F5;
  transform:translateX(3px);
}

.rvd-pay-step-panel[hidden]{display:none!important}

.rvd-pay-method-chosen{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 0 20px;
  padding:10px 14px;
  background:#1a1a1a;
  border:1px solid #2a2a2a;
  border-radius:6px;
}

.rvd-pay-method-chosen__label{
  font:500 13px/1 var(--body);
  color:#F5F5F5;
}

.rvd-pay-method-chosen__change{
  background:none;
  border:none;
  color:#635BFF;
  font:500 11px/1 var(--body);
  letter-spacing:.04em;
  cursor:pointer;
  font-family:inherit;
  padding:4px 0;
}

.rvd-pay-method-chosen__change:hover{text-decoration:underline}

.rvd-checkout-form--stripe{
  animation:rvdBotIn .35s ease-out;
}

.rvd-btn-pay--stripe{
  max-width:none;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  background:#635BFF!important;
  border-radius:8px;
  padding:17px 28px;
  font-size:12px;
}

.rvd-btn-pay--stripe:hover{opacity:.92}

.rvd-btn-pay--stripe [data-pay-btn-total]{
  opacity:.85;
  font-weight:400;
}

.rvd-pay-submit-wrap{margin-top:4px}

.rvd-pay-free{color:#8fcf9a;flex:none}

.rvd-pay-trust{
  list-style:none;
  margin:20px 0 0;
  padding:16px 0 0;
  border-top:1px solid #222;
}

.rvd-pay-trust li{
  position:relative;
  padding:0 0 0 18px;
  margin-bottom:8px;
  font:300 12px/1.4 var(--body);
  color:#666;
}

.rvd-pay-trust li:last-child{margin-bottom:0}

.rvd-pay-trust li::before{
  content:'✓';
  position:absolute;
  left:0;
  color:#8fcf9a;
  font-size:11px;
}

.rvd-svc__demo{
  margin:0 0 28px;
  font:300 12px/1.5 var(--body);
  color:#555;
}

.rvd-svc__pay-steps{
  display:flex;
  gap:24px;
  margin:0 0 32px;
  font:600 9px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#444;
}

.rvd-svc__pay-step.is-done{color:#555}

.rvd-pay-steps--desktop{display:flex}

@media(max-width:768px){
  .rvd-pay-steps--desktop{display:none}
}

.rvd-svc__pay-grid{
  display:grid;
  grid-template-columns:1fr minmax(240px,280px);
  gap:48px;
  align-items:start;
}

.rvd-svc--pay .rvd-pay-sheet{grid-column:1;grid-row:1}

.rvd-svc--pay .rvd-checkout-summary{grid-column:2;grid-row:1}

@media(min-width:769px){
  .rvd-svc--pay .rvd-pay-checkout{
    display:grid;
    grid-template-columns:1fr minmax(240px,280px);
    gap:32px 48px;
    align-items:start;
  }

  .rvd-svc--pay .rvd-svc__pay-grid{display:contents}

  .rvd-svc--pay .rvd-pay-steps--desktop{
    grid-column:1;
    grid-row:1;
    margin:0 0 24px;
  }

  .rvd-svc--pay .rvd-pay-sheet{
    grid-column:1;
    grid-row:2;
    display:block;
    position:static;
  }

  .rvd-svc--pay .rvd-checkout-summary{
    grid-column:2;
    grid-row:1 / span 2;
  }
}

.rvd-pay-mobile-open{display:none}

.rvd-pay-sheet__backdrop,
.rvd-pay-sheet__head{display:none}

.rvd-pay-sheet__panel{
  position:static;
  transform:none;
  max-height:none;
  background:transparent;
  border-radius:0;
}

.rvd-pay-sheet__body{
  overflow:visible;
  padding:0;
}

.rvd-svc__pay-label{
  margin:0 0 12px;
  font:600 9px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#666;
}

.rvd-svc .rvd-pay-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 28px;
}

.rvd-svc .rvd-pay-pill{
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:6px;
  padding:9px 14px;
  font:500 11px/1 var(--body);
  color:#888;
  cursor:pointer;
  font-family:inherit;
  transition:border-color .2s,color .2s;
}

.rvd-svc .rvd-pay-pill:hover{border-color:#444;color:#ccc}

.rvd-svc .rvd-pay-pill.is-active{
  border-color:#F5F5F5;
  color:#F5F5F5;
}

.rvd-svc .rvd-checkout-form,
.rvd-pay-sheet .rvd-checkout-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.rvd-svc .rvd-checkout-form label,
.rvd-pay-sheet .rvd-checkout-form label{
  display:block;
  margin:0 0 6px;
  font:600 9px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#666;
}

.rvd-svc .rvd-checkout-form input,
.rvd-pay-sheet .rvd-checkout-form input{
  width:100%;
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:6px;
  color:#F5F5F5;
  font:400 14px/1 var(--body);
  padding:13px 14px;
  outline:none;
  font-family:inherit;
  box-sizing:border-box;
}

.rvd-svc .rvd-checkout-form input:focus,
.rvd-pay-sheet .rvd-checkout-form input:focus{border-color:#555}

.rvd-svc .rvd-checkout-row,
.rvd-pay-sheet .rvd-checkout-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.rvd-svc .rvd-btn-pay,
.rvd-pay-sheet .rvd-btn-pay{
  margin-top:4px;
  width:100%;
  max-width:280px;
  background:#F5F5F5;
  color:#0D0D0D;
  border:none;
  border-radius:6px;
  padding:16px 28px;
  font:600 11px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
}

.rvd-svc .rvd-btn-pay:hover,
.rvd-pay-sheet .rvd-btn-pay:hover{opacity:.9}

.rvd-svc__pay-foot{
  margin:16px 0 0;
  font:300 11px/1 var(--body);
  color:#555;
}

.rvd-svc .rvd-checkout-summary{
  padding:24px;
  background:#141414;
  border:1px solid #2a2a2a;
  border-radius:8px;
  position:sticky;
  top:calc(var(--rvd-top-stack,108px) + 24px);
}

.rvd-svc .rvd-checkout-summary__title{
  margin:0 0 16px;
  font:600 9px/1 var(--body);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#666;
}

.rvd-svc .rvd-checkout-summary__row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:8px 0;
  font:300 13px/1.4 var(--body);
  color:#888;
  border-bottom:1px solid #222;
}

.rvd-checkout-summary__row--bonus span:first-child{
  font-size:12px;
  liné-height:1.45;
  color:#777;
}

.rvd-checkout-summary__row--bonus .rvd-pay-free{
  flex:none;
  white-space:nowrap;
}

.rvd-svc .rvd-checkout-summary__total{
  display:flex;
  justify-content:space-between;
  padding:14px 0 0;
  margin-top:8px;
  font:400 20px/1 var(--display);
  letter-spacing:.03em;
  color:#F5F5F5;
}

.rvd-svc .rvd-checkout-summary__item{
  display:flex;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #222;
}

.rvd-svc .rvd-checkout-summary__thumb{
  flex:none;
  width:48px;
  height:48px;
  background:#0d0d0d;
  border-radius:4px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rvd-svc .rvd-checkout-summary__thumb img{width:100%;height:100%;object-fit:contain}

.rvd-svc .rvd-checkout-summary__meta strong{
  display:block;
  font:400 13px/1.2 var(--display);
  color:#F5F5F5;
  margin-bottom:2px;
  word-break:break-word;
}

.rvd-svc .rvd-checkout-summary__meta span{
  font:300 12px/1.4 var(--body);
  color:#666;
  word-break:break-word;
}

.rvd-svc .rvd-checkout-empty{
  padding:24px 0;
  font:300 14px/1.6 var(--body);
  color:#888;
}

.rvd-svc .rvd-checkout-empty__cta{
  display:inline-block;
  margin-top:12px;
  padding:10px 20px;
  background:#F5F5F5;
  color:#0D0D0D;
  border-radius:6px;
  font:600 10px/1 var(--body);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}

.rvd-svc .rvd-checkout-summary__empty{
  font:300 13px/1.5 var(--body);
  color:#666;
}

@media(max-width:768px){
  .rvd-svc{padding:40px 0 72px}

  .rvd-svc__wrap{padding:0 20px}

  .rvd-svc__nav{margin-bottom:40px;font-size:11px}

  .rvd-svc__lead{margin-bottom:28px}

  .rvd-svc .rvd-form-split{grid-template-columns:1fr}

  .rvd-svc .rvd-contact-form button,
  .rvd-svc .rvd-btn-pay,
  .rvd-pay-sheet .rvd-btn-pay{width:100%;max-width:none}

  .rvd-svc__pay-grid{grid-template-columns:1fr;gap:32px}

  .rvd-svc .rvd-checkout-summary{position:static}

  .rvd-svc .rvd-checkout-row,
  .rvd-pay-sheet .rvd-checkout-row{grid-template-columns:1fr}

  /* Paiement — mobile (style distinct du desktop) */

  .rvd-body-pay{overflow-x:hidden}

  .rvd-body-pay footer{
    padding:48px 16px 28px!important;
  }

  .rvd-body-pay [data-m="fgrid"]{
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding-bottom:32px!important;
  }

  .rvd-body-pay [data-m="fbrand"] form div{
    max-width:none!important;
  }

  .rvd-svc--pay{
    padding:0 0 40px;
    background:#0a0a0a;
  }

  .rvd-svc--pay .rvd-svc__wrap{
    width:100%;
    max-width:100%;
    padding:0;
  }

  .rvd-pay-hero{
    margin:0;
    padding:14px 20px 10px;
    text-align:left;
    border-bottom:1px solid #1c1c1c;
  }

  .rvd-svc--pay .rvd-svc__article h1{
    font-size:clamp(28px,8vw,36px);
    margin-bottom:0;
    text-align:left;
  }

  .rvd-pay-hero .rvd-svc__lead{
    display:none;
  }

  /* RivardBot — bandeau assistant */

  .rvd-bot-zone{
    margin:0;
    padding:14px 20px 0;
    background:linear-gradient(180deg,#121212 0%,#0a0a0a 100%);
    border:none;
    border-bottom:none;
    border-radius:0;
    box-shadow:none;
    position:relative;
  }

  .rvd-bot-zone::before{
    content:'';
    position:absolute;
    top:0;
    left:20px;
    right:20px;
    height:2px;
    background:linear-gradient(90deg,#c4c4a0 0%,rgba(196,196,160,.15) 100%);
    border-radius:2px;
  }

  .rvd-bot{
    flex-direction:row;
    align-items:flex-start;
    text-align:left;
    gap:14px;
  }

  .rvd-bot__avatar{
    width:46px;
    height:46px;
    padding:6px;
    background:#161616;
    border-radius:12px;
    border:1px solid #282828;
  }

  .rvd-bot__avatar svg{
    width:34px;
    height:34px;
  }

  .rvd-bot__bubble{
    flex:1;
    padding:16px;
    background:#161616;
    border:1px solid #252525;
    border-radius:14px;
    text-align:left;
  }

  .rvd-bot__bubble::before{
    left:-6px;
    top:18px;
    transform:rotate(45deg);
    background:#161616;
    border-color:#252525;
  }

  .rvd-bot__name{
    font-size:9px;
    margin-bottom:6px;
  }

  .rvd-bot__message{
    font-size:14px;
    liné-height:1.65;
  }

  .rvd-bot__links{
    gap:8px;
    margin-top:16px;
    padding-top:16px;
    border-top-color:#252525;
  }

  .rvd-bot__links a{
    flex:1 1 calc(50% - 4px);
    padding:12px 10px;
    font-size:11px;
    border-radius:8px;
    background:#1a1a1a;
  }

  .rvd-bot__links a.rvd-bot__links-all{
    flex:1 1 100%;
  }

  /* Checkout — cartés empiléés pleiné largeur */

  .rvd-pay-checkout{
    padding:0 20px 24px;
    margin-top:0;
  }

  .rvd-svc--pay .rvd-svc__pay-grid{
    display:block;
    gap:0;
  }

  .rvd-svc--pay .rvd-checkout-summary{
    position:relative;
    padding:20px;
    margin-top:0;
    background:#151515;
    border:1px solid #2a2a2a;
    border-top:none;
    border-radius:0 0 16px 16px;
    box-shadow:0 12px 40px rgba(0,0,0,.35);
  }

  .rvd-svc--pay .rvd-pay-sheet,
  .rvd-pay-sheet{
    display:none;
    position:fixed;
    inset:0;
    z-index:9999;
    pointer-events:none;
  }

  .rvd-svc--pay.is-pay-sheet-open .rvd-pay-sheet,
  .rvd-pay-sheet.is-open{
    display:block;
    pointer-events:auto;
  }

  body.rvd-pay-sheet-open{
    overflow:hidden;
    touch-action:none;
  }

  .rvd-pay-sheet__backdrop{
    display:block;
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.65);
    opacity:0;
    transition:opacity .3s ease;
    border:none;
    padding:0;
    cursor:pointer;
  }

  .rvd-svc--pay.is-pay-sheet-open .rvd-pay-sheet__backdrop,
  .rvd-pay-sheet.is-open .rvd-pay-sheet__backdrop{opacity:1}

  .rvd-pay-sheet__panel{
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    max-height:none;
    height:100%;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#111;
    border:none;
    border-radius:0;
    transform:translateY(100%);
    transition:transform .38s cubic-bezier(.16,1,.3,1);
    box-shadow:none;
    padding-top:env(safe-area-inset-top,0px);
  }

  .rvd-svc--pay.is-pay-sheet-open .rvd-pay-sheet__panel,
  .rvd-pay-sheet.is-open .rvd-pay-sheet__panel{transform:translateY(0)}

  .rvd-pay-sheet__head{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex:none;
    padding:12px 16px 0;
    border-bottom:none;
  }

  .rvd-pay-sheet__head h2{
    display:none;
  }

  .rvd-pay-sheet__close{
    background:none;
    border:none;
    color:#888;
    font:300 22px/1 var(--body);
    cursor:pointer;
    padding:4px;
    font-family:inherit;
  }

  .rvd-pay-sheet__close:hover{color:#F5F5F5}

  .rvd-pay-mobile-open{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    margin:20px 0 0;
    padding:16px 18px;
    background:#635BFF;
    color:#fff;
    border:none;
    border-top:1px solid #252525;
    border-radius:10px;
    font:500 13px/1.45 var(--body);
    letter-spacing:.02em;
    text-transform:none;
    cursor:pointer;
    font-family:inherit;
    text-align:center;
  }

  .rvd-pay-mobile-open__label{
    display:block;
    liné-height:1.4;
  }

  .rvd-pay-mobile-open__total,
  .rvd-pay-mobile-open [data-pay-mobile-total]{
    display:block;
    font-size:12px;
    font-weight:400;
    opacity:.85;
    letter-spacing:.04em;
  }

  .rvd-pay-sheet__body{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:8px 20px calc(28px + env(safe-area-inset-bottom,0px));
    -webkit-overflow-scrolling:touch;
  }

  .rvd-pay-sheet .rvd-svc__pay-steps{display:none!important}

  .rvd-pay-sheet .rvd-pay-stripe-badge{
    margin-bottom:18px;
  }

  .rvd-pay-sheet .rvd-svc__pay-label{
    font-size:10px;
    margin-bottom:14px;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:#999;
  }

  .rvd-svc .rvd-checkout-summary__title{
    font-size:9px;
    margin-bottom:16px;
    padding-bottom:12px;
    border-bottom:1px solid #252525;
    letter-spacing:.16em;
    color:#888;
  }

  .rvd-svc .rvd-checkout-summary__item{
    flex-direction:row;
    align-items:center;
    padding:14px 0;
    gap:14px;
    border-bottom-color:#252525;
  }

  .rvd-svc .rvd-checkout-summary__thumb{
    width:52px;
    height:52px;
    border-radius:8px;
    border:1px solid #222;
  }

  .rvd-svc .rvd-checkout-summary__meta strong{
    font-size:14px;
    liné-height:1.3;
  }

  .rvd-svc .rvd-checkout-summary__meta span{
    font-size:12px;
    margin-top:4px;
    color:#777;
  }

  .rvd-svc .rvd-checkout-summary__row{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    font-size:13px;
    padding:11px 0;
    color:#999;
  }

  .rvd-checkout-summary__row--bonus span:first-child{
    font-size:12px;
    liné-height:1.4;
    color:#888;
  }

  .rvd-svc .rvd-checkout-summary__total{
    flex-direction:row;
    justify-content:space-between;
    font-size:22px;
    padding-top:16px;
    margin-top:10px;
    border-top:1px solid #333;
  }

  .rvd-pay-trust{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:16px 0 0;
    padding:0;
    border:none;
  }

  .rvd-pay-trust li{
    flex:1 1 auto;
    margin:0;
    padding:6px 10px;
    background:#1a1a1a;
    border:1px solid #282828;
    border-radius:999px;
    font-size:10px;
    color:#888;
    text-align:center;
  }

  .rvd-pay-trust li::before{display:none}

  .rvd-svc--pay .rvd-pay-main,
  .rvd-pay-sheet .rvd-pay-main{
    padding:0;
    background:transparent;
    border:none;
    border-radius:0;
  }

  .rvd-pay-stripe-badge{
    flex-direction:row;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    margin-bottom:22px;
    font-size:11px;
    border-radius:999px;
    background:rgba(99,91,255,.1);
  }

  .rvd-pay-stripe-badge svg{width:34px}

  .rvd-svc__pay-label{
    font-size:9px;
    margin-bottom:14px;
    color:#777;
  }

  .rvd-pay-method{
    padding:18px 16px;
    gap:14px;
    border-radius:12px;
    background:#161616;
    border-color:#2a2a2a;
  }

  .rvd-pay-method__icon{display:flex;color:#aaa}

  .rvd-pay-method__text strong{font-size:14px}

  .rvd-pay-method__text span{
    display:block;
    font-size:12px;
    margin-top:3px;
    color:#666;
  }

  .rvd-pay-method-chosen{
    padding:14px 16px;
    margin-bottom:18px;
    border-radius:10px;
    background:#161616;
  }

  .rvd-pay-method-chosen__label{font-size:13px}

  .rvd-svc .rvd-checkout-form,
  .rvd-pay-sheet .rvd-checkout-form{gap:18px}

  .rvd-svc .rvd-checkout-form label,
  .rvd-pay-sheet .rvd-checkout-form label{
    font-size:9px;
    margin-bottom:7px;
    color:#777;
  }

  .rvd-svc .rvd-checkout-form input,
  .rvd-pay-sheet .rvd-checkout-form input{
    padding:15px 16px;
    font-size:16px;
    border-radius:10px;
    background:#0d0d0d;
    border-color:#333;
    -webkit-appearance:none;
    appearance:none;
  }

  .rvd-svc--pay .rvd-checkout-row,
  .rvd-pay-sheet .rvd-checkout-row{
    grid-template-columns:1fr 1fr;
    gap:14px;
  }

  .rvd-pay-submit-wrap{margin-top:4px}

  .rvd-pay-submit-wrap .rvd-btn-pay--stripe{
    width:100%;
    min-height:54px;
    padding:18px 20px;
    font-size:12px;
    border-radius:12px;
    letter-spacing:.12em;
  }

  .rvd-svc--pay:has([data-pay-step="card"]:not([hidden])),
  .rvd-pay-sheet:has([data-pay-step="card"]:not([hidden])){
    padding-bottom:40px;
  }

  .rvd-svc--pay:has([data-pay-step="card"]:not([hidden])) .rvd-pay-submit-wrap,
  .rvd-pay-sheet:has([data-pay-step="card"]:not([hidden])) .rvd-pay-submit-wrap{
    position:static;
    padding:0;
    background:none;
    border:none;
  }

  .rvd-svc__pay-foot{
    font-size:10px;
    liné-height:1.6;
    margin-top:16px;
    padding:0;
    color:#555;
    text-align:left;
  }
}

@media(max-width:380px){
  .rvd-pay-checkout{padding:0 16px 16px}

  .rvd-pay-hero{padding:24px 16px 20px}

  .rvd-bot-zone{padding:22px 16px 0}

  .rvd-bot-zone::before{left:16px;right:16px}

  .rvd-bot__links a{flex:1 1 100%}

  .rvd-svc--pay .rvd-checkout-row,
  .rvd-pay-sheet .rvd-checkout-row{
    grid-template-columns:1fr;
    gap:18px;
  }

  .rvd-pay-trust li{
    flex:1 1 100%;
    font-size:10px;
  }
}
