.customer-page{min-height:100dvh;display:flex;flex-direction:column;background:#111014;color:#f2eef7}.customer-container{width:min(1080px,calc(100% - 80px));margin-inline:auto}.customer-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px;background:transparent}.customer-header>a:first-child{display:flex}.customer-header img{width:144px;height:auto}.customer-header>a:last-child{display:flex;align-items:center;gap:10px;color:#c7afd9;font-size:.8rem}.customer-header a:hover{color:#fff}.customer-main{flex:1;padding-block:26px 80px}.customer-back{display:inline-flex;align-items:center;gap:10px;color:#bba8ca;font-size:.8rem;margin-bottom:12px;padding-block:8px}.customer-back:hover{color:#f2e6fc}.customer-main .checkout-page{max-width:760px;padding-block:30px 10px}.customer-page .checkout-brand img{display:none}.customer-page .checkout-progress{border:0;padding-bottom:15px}.customer-page .checkout-total{border:0;padding:12px 0 18px}.customer-page .checkout-form>input,.customer-page .checkout-select{border:0;background:#211b28}.customer-page .checkout-description{max-width:700px}.customer-page .checkout-panel{padding-top:10px}.customer-page .checkout-panel>.button{margin-top:8px}.customer-page .checkout-panel .checkout-help{line-height:1.9}.customer-page .checkout-form>.text-link{font-size:.83rem;margin-block:0 10px}.customer-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:25px 34px;color:#a492b2;font-size:.7rem}.customer-footer nav{display:flex;gap:25px;flex-wrap:wrap}.customer-footer a:hover{color:#ede0f7}.customer-page :is(a,button,input,select,textarea):focus-visible{outline:2px solid #cfb5ee;outline-offset:5px}.customer-page .opening-offer-page{margin:35px 0 10px;padding:20px 0;grid-template-columns:1fr 1fr;gap:80px;background:transparent;border:0;border-radius:0;box-shadow:none}.opening-offer-page .opening-intro h1{font-size:clamp(2.2rem,4.1vw,3.3rem);letter-spacing:-.045em;line-height:1.15;margin:22px 0 26px;color:#f1e9f8}.opening-offer-page .opening-badge{font-size:.8rem;color:#ccb2e0;gap:10px}.opening-offer-page .opening-intro>p{font-size:.92rem;line-height:1.9;color:#d8c8e3}.opening-offer-page .opening-intro .opening-deadline{font-size:.82rem;line-height:1.9;margin-top:18px;color:#af9abb}.opening-offer-page .opening-no-payment{font-size:.75rem;line-height:1.9;margin-top:25px;color:#bba3cd}.opening-offer-page .opening-content{padding-top:9px;gap:22px}.opening-offer-page .opening-form{gap:24px}.opening-offer-page .opening-form>div{gap:12px}.opening-offer-page .opening-form input{border:0;background:#211b28;border-radius:10px;padding:16px}.opening-offer-page .opening-form :is(p,#promotion-nom-help){font-size:.8rem;line-height:1.85;color:#b8a7c6}.opening-offer-page .opening-form .button{margin-top:0;min-height:54px}.opening-offer-page .opening-success{gap:20px}.opening-offer-page .opening-success>p{font-size:.9rem;line-height:1.85}@media(max-width:800px){.customer-container{width:calc(100% - 48px)}.customer-main .checkout-page{padding-top:25px}.customer-page .opening-offer-page{grid-template-columns:1fr;gap:35px;margin-top:20px;padding-top:15px;max-width:620px;margin-inline:auto}.opening-offer-page .opening-intro h1{max-width:520px}.opening-offer-page .opening-intro>p,.opening-offer-page .opening-no-payment{max-width:560px}.customer-footer{align-items:start}}@media(max-width:600px){.customer-container{width:calc(100% - 40px)}.customer-header{padding-block:25px}.customer-header img{width:130px}.customer-header>a:last-child{font-size:.72rem;gap:8px}.customer-main{padding-top:8px;padding-bottom:48px}.customer-back{font-size:.75rem;margin-bottom:7px}.customer-main .checkout-page{gap:18px;padding-top:25px}.customer-page .checkout-brand{font-size:.62rem;letter-spacing:.1em}.customer-page .checkout-title{font-size:2.35rem!important}.customer-page .checkout-description{font-size:.9rem!important}.customer-page .checkout-progress{gap:12px;padding-bottom:10px}.customer-page .checkout-progress li{font-size:.69rem;gap:6px}.customer-page .checkout-progress li:not(:last-child):after{right:-9px}.customer-page .checkout-help{font-size:.8rem;line-height:1.8}.customer-page .checkout-form{gap:15px}.customer-page .checkout-total{padding-block:8px 12px}.customer-page .checkout-total strong{font-size:1.8rem}.customer-page .checkout-panel>p{font-size:.9rem;line-height:1.8}.customer-footer{display:block;padding-top:20px;font-size:.66rem}.customer-footer nav{gap:20px;margin-top:16px}.customer-page .opening-offer-page{gap:27px;margin-top:14px}.opening-offer-page .opening-intro h1{font-size:2.25rem;margin-block:18px 22px}.opening-offer-page .opening-intro>p{font-size:.87rem}.opening-offer-page .opening-content{padding-top:0}.opening-offer-page .opening-form{gap:20px}}@media(prefers-reduced-motion:reduce){.customer-page *{transition:none!important}}.customer-page:has(.free-access-page){background:radial-gradient(ellipse at 84% 32%,#72569e13,transparent 48%),#080a0f;color:#ececf4}.customer-page:has(.free-access-page) .customer-header{border-bottom:1px solid #ffffff15;padding-block:29px}.customer-page:has(.free-access-page) .customer-header img{width:144px}.customer-page:has(.free-access-page) .customer-main{padding-top:27px}.customer-page:has(.free-access-page) .customer-back{color:#8b8fa6;font-size:10px;letter-spacing:.025em}.customer-main .free-access-page{max-width:690px;padding:41px 44px 43px;margin-top:25px;background:linear-gradient(150deg,#181a24,#10131b);border:1px solid #ffffff20;border-top-color:#c5b6f747;border-radius:16px;box-shadow:0 25px 70px #0002;gap:24px}.free-access-page .checkout-brand{font-size:8px;letter-spacing:.13em;color:#a99dbf}.free-access-page .checkout-title{font-size:45px!important;line-height:1.12!important;letter-spacing:-.06em;color:#edebf6}.free-access-page .checkout-description{font-size:13px!important;line-height:1.9;color:#9da0b3!important;max-width:530px}.customer-page .free-access-page .checkout-total{padding-block:12px 18px;border-bottom:1px solid #ffffff12;margin-bottom:6px}.free-access-page .checkout-total>span{font-size:12px;color:#a1a1b5}.free-access-page .checkout-total>strong{font-size:24px;font-weight:400;letter-spacing:-.025em;color:#d9c9f3}.customer-page .free-access-page .checkout-form>input{border:1px solid #454556;background:#1c1e29;padding:16px;font-size:1rem;border-radius:8px;transition:border-color .2s}.customer-page .free-access-page .checkout-form>input:focus{border-color:#c6b5e8}.free-access-page .checkout-form label{font-size:12px;color:#d3cfdf}.free-access-page .checkout-form .button{width:100%;background:#e7e2fa;color:#18131f;border:1px solid #fff2;border-radius:8px;min-height:53px;font-size:12px}.free-access-page .checkout-help{font-size:11px!important;line-height:1.85;color:#9396ac}.free-access-page .checkout-help a{color:#c6b5e8}.free-access-page .checkout-success{min-width:0}.free-access-page .checkout-success>p{font-size:13px;line-height:1.85;overflow-wrap:anywhere}.free-access-page .checkout-success textarea{font-size:1rem}.customer-page:has(.free-access-page) .customer-footer{border-top:1px solid #ffffff12;margin-top:10px;color:#82869d}@media(max-width:650px){.customer-page:has(.free-access-page) .customer-header{padding-block:23px}.customer-page:has(.free-access-page) .customer-header img{width:128px}.customer-page:has(.free-access-page) .customer-main{padding-top:17px}.customer-main .free-access-page{padding:28px 23px 29px;margin-top:16px;border-radius:12px;gap:20px}.free-access-page .checkout-title{font-size:34px!important;line-height:1.15!important}.free-access-page .checkout-description{font-size:12px!important}.free-access-page .checkout-brand{font-size:7px}.customer-page:has(.free-access-page) .customer-back{font-size:9px}.free-access-page .checkout-help{font-size:10px!important}.customer-header>a:last-child{font-size:10px}}
/* Téléphone : adaptation ciblée, sans changement du poste ordinateur. */
@media (max-width: 650px) {
  .customer-page .customer-container { width: calc(100% - 32px); min-width: 0; }
  .customer-page .customer-header { gap: 12px; }
  .customer-page .customer-header > a:last-child, .customer-page .customer-back, .customer-page .customer-footer a { min-height: 44px; display: inline-flex; align-items: center; font-size: 12px; line-height: 1.5; }
  .customer-page .checkout-form input, .customer-page .checkout-form select, .customer-page .checkout-form textarea { min-height: 44px; font-size: 16px; }
  .customer-page .checkout-form button, .customer-page .checkout-actions .button { min-height: 44px; white-space: normal; }
  .customer-page .checkout-actions { flex-wrap: wrap; }
  .customer-page .checkout-actions .button { flex: 1 1 160px; }
  .customer-page .checkout-success, .customer-page .checkout-panel, .customer-page .checkout-panel p { min-width: 0; overflow-wrap: anywhere; }
  .customer-page .customer-main { padding-bottom: max(40px, env(safe-area-inset-bottom)); }
  .customer-page .customer-footer nav { flex-wrap: wrap; gap: 8px 20px; }
}

/* /commencer uniquement : composition ouverte, sans carte ni cadre permanent. */
.customer-page:has(.free-access-page) {
  background: #080a0f;
  color: #eceaf3;
}
.customer-page:has(.free-access-page) .customer-header {
  border: 0;
  padding-block: 28px;
}
.customer-page:has(.free-access-page) .customer-header > a:last-child {
  min-height: 44px;
  font-size: 12px;
  color: #bcb0cc;
}
.customer-page:has(.free-access-page) .customer-main {
  padding-top: 14px;
  padding-bottom: 64px;
}
.customer-page:has(.free-access-page) .customer-back {
  min-height: 44px;
  margin: 0;
  font-size: 12px;
  letter-spacing: 0;
  color: #9a96aa;
}
.customer-main .free-access-page {
  max-width: 640px;
  margin: 40px auto 24px;
  padding: 0;
  gap: 22px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.free-access-page .checkout-brand {
  margin: 0;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .13em;
  color: #b6a2d3;
}
.customer-main .free-access-page .checkout-title {
  margin: 0;
  max-width: 520px;
  font-size: 52px !important;
  line-height: 1.08 !important;
  letter-spacing: -.05em;
  font-weight: 500;
  color: #f1edf7;
}
.customer-main .free-access-page .checkout-description {
  margin: 0;
  max-width: 500px;
  font-size: 16px !important;
  line-height: 1.8;
  color: #a5a0b3 !important;
}
.customer-page .free-access-page .checkout-form,
.customer-page .free-access-page .checkout-success {
  min-width: 0;
  max-width: 480px;
  width: 100%;
  padding: 0;
  margin: 10px 0 0;
  gap: 14px;
}
.customer-page .free-access-page .checkout-total {
  display: none;
  gap: 20px;
  padding: 0;
  margin: 0 0 12px;
  min-height: 30px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.free-access-page .checkout-total > span {
  font-size: 12px;
  color: #a5a0b3;
}
.free-access-page .checkout-total > strong {
  font-size: 24px;
  font-weight: 400;
  color: #d7c5ef;
}
.free-access-page :is(.checkout-form, .checkout-success) > label {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #bdb6cc;
}
.customer-page .free-access-page .checkout-form > input,
.customer-page .free-access-page .checkout-success > textarea {
  min-width: 0;
  width: 100%;
  min-height: 58px;
  padding: 10px 0 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #f1edf7;
  caret-color: #d1baf1;
  font-size: 22px;
  line-height: 1.5;
  transition: none;
}
.customer-page .free-access-page .checkout-success > textarea {
  min-height: 96px;
  font-size: 16px;
  overflow-wrap: anywhere;
}
.customer-page .free-access-page .checkout-form > input::placeholder {
  color: #777386;
  opacity: 1;
}
.customer-page .free-access-page :is(.checkout-form > input, .checkout-success > textarea):focus-visible {
  outline: 0;
  box-shadow: inset 0 -2px 0 #ccb6ee;
}
.customer-main .free-access-page .checkout-help {
  margin: 0;
  font-size: 12px !important;
  line-height: 1.8;
  color: #a09aae;
}
.free-access-page .checkout-help a {
  color: #d1bdea;
  text-underline-offset: 4px;
}
.customer-page .free-access-page :is(.checkout-form, .checkout-success) > .button.primary {
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  margin: 6px 0 0;
  padding: 14px 26px;
  border: 0;
  border-radius: 999px;
  background: #d8c8f0;
  box-shadow: none;
  color: #20172c;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  white-space: normal;
}
.customer-page .free-access-page .button.primary:hover:not(:disabled) {
  background: #e5d8f7;
}
.customer-page .free-access-page .button.primary:disabled {
  opacity: .62;
}
.free-access-page .checkout-actions {
  gap: 4px 20px;
}
.customer-page .free-access-page .button.secondary {
  min-height: 44px;
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #d1bdea;
}
.free-access-page .success-icon {
  width: 28px;
  height: 28px;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.free-access-page :is(.checkout-error, .checkout-notice) {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 13px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.customer-page:has(.free-access-page) .customer-footer {
  border: 0;
  margin-top: 0;
  color: #8e889e;
  font-size: 11px;
}
.customer-page:has(.free-access-page) .customer-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.customer-page:has(.free-access-page) :is(a, button):focus-visible {
  outline: 2px solid #ccb6ee;
  outline-offset: 5px;
}
@media (min-width: 960px) {
  .customer-main .free-access-page {
    max-width: 1040px;
    margin-top: 52px;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    grid-template-rows: auto auto auto minmax(0, 1fr);
    column-gap: 104px;
    align-items: start;
  }
  .free-access-page > :is(.checkout-brand, .checkout-title, .checkout-description) { grid-column: 1; }
  .customer-main .free-access-page .checkout-title { font-size: 56px !important; }
  .free-access-page > :is(.checkout-form, .checkout-success) { grid-column: 2; grid-row: 1 / span 4; margin-top: 0; }
  .free-access-page > .checkout-help:last-child { grid-column: 1; grid-row: 4; max-width: 410px; }
  .free-access-page > :is(.checkout-error, .checkout-notice, .button.secondary) { grid-column: 2; }
}
@media (max-width: 650px) {
  .customer-page:has(.free-access-page) .customer-container { width: calc(100% - 40px); }
  .customer-page:has(.free-access-page) .customer-header { padding-block: 18px; }
  .customer-page:has(.free-access-page) .customer-main { padding-top: 4px; padding-bottom: 40px; }
  .customer-main .free-access-page { margin-top: 22px; gap: 18px; }
  .customer-main .free-access-page .checkout-title { font-size: 40px !important; line-height: 1.12 !important; }
  .customer-main .free-access-page .checkout-description { font-size: 15px !important; line-height: 1.75; }
  .customer-page .free-access-page :is(.checkout-form, .checkout-success) { margin-top: 10px; }
  .customer-page .free-access-page .checkout-form > input { font-size: 21px; }
  .customer-page:has(.free-access-page) .customer-footer { padding-top: 12px; }
  .customer-page:has(.free-access-page) .customer-footer nav { margin-top: 6px; gap: 0 22px; }
}
@media (forced-colors: active) {
  .customer-page .free-access-page :is(.checkout-form > input, .checkout-success > textarea):focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 4px;
  }
  .customer-page .free-access-page .button.primary { border: 1px solid ButtonText; }
}
