/* Reseefy Cloud onboarding V2 — Design 1 / VPS aligned */
.entry-header,.page-header,.entry-title,.page-title,.site-header,#masthead,.elementor-location-header,
.site-branding,.site-title,.site-description,.ast-page-builder-template .entry-header{display:none!important}

.rsfy-ob{
  --ink:#111111;--muted:#6e7074;--line:#e5e6e4;--soft:#f8f8f6;--green:#eafff2;
  position:relative;left:50%;width:100vw;margin-left:-50vw;font-family:Arial,sans-serif!important;color:var(--ink)!important;background:#fff;min-height:100vh
}
.rsfy-ob *{box-sizing:border-box}
.rsfy-ob h1,.rsfy-ob h2,.rsfy-ob h3,.rsfy-ob h4,.rsfy-ob h5,.rsfy-ob h6{font-family:Arial,sans-serif!important;color:#111!important;text-shadow:none!important}
.rsfy-ob a{box-shadow:none!important}
.rsfy-ob-header{height:72px;border-bottom:1px solid #ececec;background:#fff}.rsfy-ob-header-inner{height:100%;max-width:1600px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.rsfy-ob-logo img{display:block;height:31px;width:auto;max-width:150px}.rsfy-ob-nav{display:flex;align-items:center;gap:29px}.rsfy-ob-login{text-decoration:none!important;color:#111!important;font-size:14px;font-weight:700}.rsfy-ob-create{height:42px;border:1px solid #111!important;border-radius:999px!important;padding:0 25px;display:inline-flex;align-items:center;justify-content:center;background:#111!important;color:#fff!important;text-decoration:none!important;font-family:Arial,sans-serif!important;font-size:14px;font-weight:700;transition:background .18s ease,border-color .18s ease}.rsfy-ob-create:hover,.rsfy-ob-create:focus{background:#303030!important;border-color:#303030!important;color:#fff!important}
.rsfy-ob-shell{padding:52px 20px 90px;display:flex;justify-content:center}.rsfy-ob-card{width:min(100%,560px);border:1px solid var(--line);border-radius:24px;padding:34px 32px 28px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.05)}.rsfy-ob-topline{display:flex;flex-direction:column-reverse;gap:20px;margin-bottom:33px}.rsfy-ob-step-label{text-align:right;color:#666!important;font-size:10px;letter-spacing:.25px}.rsfy-ob-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.rsfy-ob-progress span{height:4px;border-radius:99px;background:#e6e7e4}.rsfy-ob-progress span.is-done{background:#111!important}
.rsfy-ob-step{display:none}.rsfy-ob-step.is-active{display:block}.rsfy-ob-kicker{display:block;color:#666c71!important;font-size:9px;letter-spacing:1.65px;font-weight:700;margin-bottom:10px}.rsfy-ob h1{margin:0;font-size:29px;line-height:1.06;letter-spacing:-1.05px;font-weight:700!important;color:#111!important}.rsfy-ob-intro{margin:11px 0 27px;color:var(--muted)!important;font-size:12px;line-height:1.55}
.rsfy-ob-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rsfy-ob-grid-single{grid-template-columns:1fr}.rsfy-ob-grid label{display:block}.rsfy-ob-grid label.wide{grid-column:1/-1}.rsfy-ob-grid label>span{display:block;font-size:11px;font-weight:700;margin-bottom:7px;color:#111!important}.rsfy-ob-grid input,.rsfy-ob-grid select{width:100%;height:49px;border:1px solid #dfe1df!important;border-radius:12px!important;background:#fff!important;padding:0 14px;font-family:Arial,sans-serif!important;font-size:12px;color:#111!important;outline:none;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease}.rsfy-ob-grid input:focus,.rsfy-ob-grid select:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(17,17,17,.05)!important}
.rsfy-ob-packs{display:grid;gap:9px}.rsfy-ob-pack{display:block;border:1px solid var(--line)!important;border-radius:16px;padding:17px 18px 0;cursor:pointer;transition:border-color .18s ease,background .18s ease;overflow:hidden;background:#fff!important}.rsfy-ob-pack:hover{background:#fafafa!important}.rsfy-ob-pack.is-selected{border-color:#111!important;background:#fff!important}.rsfy-ob-pack input{position:absolute;opacity:0;pointer-events:none}.rsfy-ob-pack-head{display:flex;justify-content:space-between;gap:20px}.rsfy-ob-pack-head strong{display:block;font-size:14px;color:#111!important}.rsfy-ob-pack-head small{display:block;color:#73767a!important;font-size:10px;line-height:1.45;margin-top:5px}.rsfy-ob-pack-head em{font-style:normal;background:#111!important;color:#fff!important;border-radius:999px;padding:3px 6px;font-size:7px;margin-left:5px;vertical-align:2px}.rsfy-ob-radio{width:18px;height:18px;border:1px solid #d6d8d5!important;border-radius:50%;flex:0 0 auto;position:relative;background:#fff!important}.rsfy-ob-pack.is-selected .rsfy-ob-radio{border-color:#111!important}.rsfy-ob-pack.is-selected .rsfy-ob-radio:after{content:"";width:6px;height:6px;background:#111!important;border-radius:50%;position:absolute;inset:5px}.rsfy-ob-pack-price{font-size:13px;font-weight:700;margin-top:12px;color:#111!important}.rsfy-ob-pack-users{font-size:9px;font-weight:700;margin-top:3px;color:#111!important}.rsfy-ob-pack-more{width:100%;height:37px;margin-top:12px;padding:0;border:0!important;border-top:1px solid #e5e6e4!important;background:transparent!important;display:flex;align-items:center;justify-content:space-between;font-family:Arial,sans-serif!important;font-size:10px;font-weight:700;color:#111!important;cursor:pointer;text-align:left}.rsfy-ob-pack-more:hover{color:#555!important}.rsfy-ob-pack-more span{font-size:14px}.rsfy-ob-pack-detail{padding:0 0 13px;color:#70757a!important;font-size:10px;line-height:1.45}.rsfy-ob-pack-detail p{margin:0}
.rsfy-ob-recap-card{border:1px solid var(--line)!important;border-radius:17px;padding:17px 18px;background:#fafaf8!important}.rsfy-ob-recap-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line)}.rsfy-ob-recap-head>div strong{display:block;font-size:13px;color:#111!important}.rsfy-ob-recap-head small{display:block;color:#72777b!important;font-size:10px;line-height:1.45;margin-top:5px}.rsfy-ob-recap-head>strong{font-size:13px;white-space:nowrap;color:#111!important}.rsfy-ob-recap-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.rsfy-ob-recap-row span{color:#777!important;font-size:10px}.rsfy-ob-recap-row strong{font-size:10px;color:#111!important}.rsfy-ob-recap-total strong{font-weight:700}.rsfy-ob-change-pack{border:0!important;background:transparent!important;color:#111!important;padding:12px 0 0;text-decoration:underline!important;text-underline-offset:2px;font-family:Arial,sans-serif!important;font-size:10px;font-weight:700;cursor:pointer}.rsfy-ob-change-pack:hover{color:#555!important}
.rsfy-ob-summary{border:1px solid var(--line);border-radius:16px;overflow:hidden}.rsfy-ob-summary>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 17px;border-bottom:1px solid var(--line)}.rsfy-ob-summary>div:last-child{border-bottom:0}.rsfy-ob-summary span{color:#777!important;font-size:11px}.rsfy-ob-summary strong{font-size:11px;text-align:right;color:#111!important}.rsfy-ob-summary.compact{margin-top:22px}
.rsfy-ob-payment-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line)!important;border-radius:16px;padding:17px;margin-bottom:11px;background:#fff!important}.rsfy-ob-payment-card span:first-child{display:block;color:#777!important;font-size:10px}.rsfy-ob-payment-card strong{display:block;margin-top:4px;font-size:13px;color:#111!important}.rsfy-ob-secure{background:#edfff4!important;color:#087a43!important;padding:7px 10px;border-radius:999px;font-size:8px!important}.rsfy-ob-payment-slot{min-height:145px;border:1px dashed #d9d9d5!important;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:21px;background:#fff!important}.rsfy-ob-payment-slot strong{font-size:13px;color:#111!important}.rsfy-ob-payment-slot p{max-width:390px;color:#85878b!important;font-size:9px;line-height:1.55;margin:7px 0 0}.rsfy-ob-notice{margin-top:11px;border-radius:11px;background:#fff3f3!important;color:#a32222!important;padding:11px;font-size:11px}
.rsfy-ob-actions{display:flex;justify-content:space-between;gap:16px;margin-top:27px}.rsfy-ob-back,.rsfy-ob-primary{height:43px;border-radius:999px!important;padding:0 24px;font-family:Arial,sans-serif!important;font-size:11px;font-weight:700;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.rsfy-ob-back{background:#fff!important;border:1px solid var(--line)!important;color:#111!important}.rsfy-ob-back:hover,.rsfy-ob-back:focus{background:#efefef!important;border-color:#d8d8d8!important;color:#111!important}.rsfy-ob-primary{display:inline-flex;align-items:center;justify-content:center;background:#111!important;border:1px solid #111!important;color:#fff!important;text-decoration:none!important;min-width:105px}.rsfy-ob-primary:hover,.rsfy-ob-primary:focus{background:#303030!important;border-color:#303030!important;color:#fff!important}.rsfy-ob-primary:disabled{background:#b8b8b8!important;border-color:#b8b8b8!important;color:#fff!important;opacity:1;cursor:not-allowed}.rsfy-ob-primary:active,.rsfy-ob-back:active,.rsfy-ob-create:active{transform:translateY(1px)}.rsfy-ob-success{text-align:center;padding:18px 0 4px}.rsfy-ob-success-icon{width:46px;height:46px;border-radius:50%;background:#111!important;color:#fff!important;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;font-size:19px}.rsfy-ob-success .rsfy-ob-dashboard{margin-top:21px;width:100%}

@media(max-width:700px){
  .rsfy-ob-header-inner{padding:0 18px}.rsfy-ob-nav{gap:12px}.rsfy-ob-login{display:none}.rsfy-ob-create{height:38px;padding:0 17px;font-size:12px}.rsfy-ob-shell{padding:25px 10px 60px}.rsfy-ob-card{padding:25px 18px 22px;border-radius:21px}.rsfy-ob h1{font-size:27px}.rsfy-ob-grid{grid-template-columns:1fr}.rsfy-ob-grid label.wide{grid-column:auto}.rsfy-ob-actions{gap:10px}.rsfy-ob-back,.rsfy-ob-primary{padding:0 17px}.rsfy-ob-logo img{height:28px}
}

/* Reseefy Cloud 0.3.2 — theme isolation */
body:has(.rsfy-auth-page) .wp-block-site-title,
body:has(.rsfy-auth-page) .wp-block-site-logo,
body:has(.rsfy-auth-page) .site-name,
body:has(.rsfy-auth-page) .site-logo,
body:has(.rsfy-auth-page) .custom-logo-link:not(.rsfy-auth-logo),
body:has(.rsfy-ob) .wp-block-site-title,
body:has(.rsfy-ob) .wp-block-site-logo,
body:has(.rsfy-ob) .site-name,
body:has(.rsfy-ob) .site-logo,
body:has(.rsfy-ob) .custom-logo-link:not(.rsfy-ob-logo){display:none!important;}

/* Primary CTA: pure black as soon as the current step is valid */
.rsfy-ob button.rsfy-ob-primary:not(:disabled),
.rsfy-ob a.rsfy-ob-primary:not([aria-disabled="true"]){
  background:#000000!important;border-color:#000000!important;color:#ffffff!important;opacity:1!important;
  box-shadow:none!important;filter:none!important;
}
.rsfy-ob button.rsfy-ob-primary:not(:disabled):hover,
.rsfy-ob button.rsfy-ob-primary:not(:disabled):focus-visible,
.rsfy-ob a.rsfy-ob-primary:not([aria-disabled="true"]):hover,
.rsfy-ob a.rsfy-ob-primary:not([aria-disabled="true"]):focus-visible{
  background:#303030!important;border-color:#303030!important;color:#ffffff!important;
}
.rsfy-ob button.rsfy-ob-primary:disabled{
  background:#b8b8b8!important;border-color:#b8b8b8!important;color:#ffffff!important;opacity:1!important;
}


/* 0.3.4 — suppress legacy/theme branding above the Cloud screens before first paint */
body.rsfy-cloud-clean-page .site-header,
body.rsfy-cloud-clean-page #site-header,
body.rsfy-cloud-clean-page #masthead,
body.rsfy-cloud-clean-page .site-branding,
body.rsfy-cloud-clean-page .site-identity,
body.rsfy-cloud-clean-page .site-title,
body.rsfy-cloud-clean-page #site-title,
body.rsfy-cloud-clean-page .site-name,
body.rsfy-cloud-clean-page .site-logo,
body.rsfy-cloud-clean-page #site-logo,
body.rsfy-cloud-clean-page .custom-logo-link:not(.rsfy-auth-logo):not(.rsfy-ob-logo),
body.rsfy-cloud-clean-page .wp-block-site-title,
body.rsfy-cloud-clean-page .wp-block-site-logo,
body.rsfy-cloud-clean-page .elementor-location-header,
body.rsfy-cloud-clean-page .entry-header,
body.rsfy-cloud-clean-page .page-header,
body.rsfy-cloud-clean-page .entry-title,
body.rsfy-cloud-clean-page .page-title {
  display:none!important;
}


/* 0.4.0 — Stripe Checkout synchronisé avec Reseefy Center */
.rsfy-ob-logo{
  display:inline-flex!important;align-items:center!important;
  font-family:Arial,sans-serif!important;font-size:28px!important;font-weight:400!important;
  line-height:1!important;color:#111!important;text-decoration:none!important;letter-spacing:-.8px!important;
}
.rsfy-ob-payment-step .rsfy-ob-intro{margin-bottom:22px!important}
.rsfy-ob-checkout-summary{
  border:1px solid #e3e4e2!important;border-radius:18px!important;background:#fff!important;
  overflow:hidden!important;box-shadow:0 10px 34px rgba(0,0,0,.025)!important;
}
.rsfy-ob-checkout-brand{
  min-height:78px;padding:16px 18px;display:flex;align-items:center;gap:12px;
  border-bottom:1px solid #e6e6e4;background:#fff!important;
}
.rsfy-ob-checkout-mark{
  width:36px;height:36px;border-radius:10px;background:#111!important;color:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:16px!important;font-weight:700!important;flex:0 0 auto;
}
.rsfy-ob-checkout-brand>div{min-width:0;flex:1}
.rsfy-ob-checkout-brand strong{display:block;color:#111!important;font-size:13px!important}
.rsfy-ob-checkout-brand small{display:block;color:#85878b!important;font-size:9px!important;margin-top:4px}
.rsfy-ob-checkout-row{
  min-height:48px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  border-bottom:1px solid #ededeb;background:#fff!important;
}
.rsfy-ob-checkout-row span{font-size:10px!important;color:#7b7e82!important}
.rsfy-ob-checkout-row strong{font-size:10px!important;color:#111!important;text-align:right;overflow-wrap:anywhere}
.rsfy-ob-checkout-total{min-height:58px}
.rsfy-ob-checkout-total span{font-weight:700!important;color:#111!important}
.rsfy-ob-checkout-total strong{font-size:21px!important;letter-spacing:-.5px!important}
.rsfy-ob-stripe-box{padding:18px;background:#fff!important}
.rsfy-ob-stripe-loader{
  min-height:160px;border:1px solid #e2e3e1;border-radius:15px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;
  background:#fff!important;
}
.rsfy-ob-stripe-loader[hidden]{display:none!important}
.rsfy-ob-stripe-loader strong{font-size:12px;color:#111!important;margin-top:12px}
.rsfy-ob-stripe-loader small{font-size:9px;color:#85878b!important;margin-top:6px;line-height:1.5}
.rsfy-ob-spinner{
  width:24px;height:24px;border-radius:50%;border:2px solid #e5e5e5;border-top-color:#111;
  animation:rsfyStripeSpin .7s linear infinite
}
@keyframes rsfyStripeSpin{to{transform:rotate(360deg)}}
/* 0.4.12 — Stripe minimaliste : le Payment Element garde uniquement son cadre natif Stripe.
   Aucun second rectangle n'est ajouté par Cloud Portal autour du formulaire bancaire. */
.rsfy-ob-payment-element{
  min-height:160px;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;
  box-shadow:none!important;outline:0!important;
}
.rsfy-ob-payment-element[hidden]{display:none!important}
.rsfy-ob-payment-step .rsfy-ob-notice{
  margin:12px 0 0!important;border:1px solid #f0caca!important;background:#fff6f6!important;
  color:#922!important;padding:11px 13px!important;border-radius:11px!important;line-height:1.45!important;
}
.rsfy-ob-legal{
  margin:14px 0 0!important;text-align:center!important;font-size:8px!important;
  line-height:1.45!important;color:#999ca0!important;
}
.rsfy-ob-payment-step + .rsfy-ob-actions{margin-top:20px}
.rsfy-ob-payment-step.is-active ~ .rsfy-ob-actions .rsfy-ob-primary:not(:disabled){
  min-width:190px!important;background:#000!important;border-color:#000!important;color:#fff!important;
}
.rsfy-ob-payment-step.is-active ~ .rsfy-ob-actions .rsfy-ob-primary:not(:disabled):hover{
  background:#303030!important;border-color:#303030!important;
}

@media(max-width:700px){
  .rsfy-ob-checkout-brand{padding:14px}
  .rsfy-ob-checkout-row{padding:0 14px}
  .rsfy-ob-stripe-box{padding:14px}
  .rsfy-ob-checkout-total strong{font-size:18px!important}
  .rsfy-ob-payment-step.is-active ~ .rsfy-ob-actions .rsfy-ob-primary:not(:disabled){min-width:0!important;flex:1}
}


/* 0.4.1 — détail complet des fonctionnalités par pack */
.rsfy-ob-pack-detail[hidden]{display:none!important}
.rsfy-ob-pack-detail{padding:0 0 16px!important;color:#111!important;font-size:10px!important;line-height:1.35!important}
.rsfy-ob-pack-collaborators{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;padding-top:1px;color:#111!important;font-size:10px!important;font-weight:700!important}
.rsfy-ob-pack-collaborators span,.rsfy-ob-pack-collaborators strong{color:#111!important;font-size:10px!important;font-weight:700!important}
.rsfy-ob-feature-list{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:8px!important}
.rsfy-ob-feature-list li{display:flex!important;align-items:center!important;gap:9px!important;margin:0!important;padding:0!important;min-height:22px!important;color:#111!important;font-size:10px!important;line-height:1.35!important}
.rsfy-ob-feature-list li::before{display:none!important;content:none!important}
.rsfy-ob-feature-icon{width:17px!important;height:17px!important;min-width:17px!important;border-radius:3px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-size:11px!important;font-weight:400!important;line-height:1!important;box-sizing:border-box!important}
.rsfy-ob-feature-list .is-included .rsfy-ob-feature-icon{border:1px solid #111!important;background:#fff!important;color:#111!important}
.rsfy-ob-feature-list .is-excluded{color:#a0a3a8!important}
.rsfy-ob-feature-list .is-excluded span:last-child{color:#a0a3a8!important}
.rsfy-ob-feature-list .is-excluded .rsfy-ob-feature-icon{border:1px solid #aeb3b8!important;background:#d9dde0!important;color:#697078!important;font-weight:700!important}
.rsfy-ob-pack-more[aria-expanded="true"]{margin-bottom:8px!important}

@media(max-width:700px){
  .rsfy-ob-feature-list{gap:9px!important}
  .rsfy-ob-feature-list li{font-size:11px!important}
  .rsfy-ob-pack-collaborators span,.rsfy-ob-pack-collaborators strong{font-size:11px!important}
}


/* 0.4.3 — séparateur pack droit, sans extrémités arrondies */
.rsfy-ob-pack-more{position:relative!important;border-top:0!important;border-radius:0!important}
.rsfy-ob-pack-more::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:0!important;height:1px!important;background:#e5e6e4!important;border:0!important;border-radius:0!important;box-shadow:none!important}
/* v0.4.4 - persistent Stripe diagnostics: readable and never flashing */
.rsfy-ob-payment-step .rsfy-ob-notice{
  display:block;
  font-family:Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:600!important;
  color:#8f1d1d!important;
  background:#fff4f4!important;
  border:1px solid #e8bcbc!important;
  padding:13px 15px!important;
  line-height:1.55!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.rsfy-ob-payment-step .rsfy-ob-notice[hidden]{display:none!important}


/* Reseefy 0.5.78 - compact default payment checkbox */
@media (max-width: 767px) {
  /* Checkbox used by the Stripe/manual regularisation payment form only. */
  .reseefy-cloud-portal input[type="checkbox"][name*="default"],
  .reseefy-cloud-portal input[type="checkbox"][id*="default"],
  .reseefy-cloud-portal .rf-default-payment-checkbox input[type="checkbox"],
  .reseefy-cloud-portal .reseefy-default-payment-checkbox input[type="checkbox"],
  .reseefy-cloud-portal .default-payment-method input[type="checkbox"] {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    flex: 0 0 24px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
  }
}

.rsfy-ob-promo{margin:0 28px 24px;padding:18px;border:1px solid #e5e5e2;border-radius:18px;background:#fafaf9}
.rsfy-ob-promo-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.rsfy-ob-promo-copy strong{font-size:14px;color:#111}.rsfy-ob-promo-copy small{color:#777;font-size:11px;text-align:right}
.rsfy-ob-promo-controls{display:grid;grid-template-columns:1fr auto;gap:9px}
.rsfy-ob-promo-controls input{min-width:0;height:46px;border:1px solid #dcdcd8;border-radius:12px;padding:0 14px;background:#fff;font:inherit;font-weight:650;text-transform:uppercase;outline:none}
.rsfy-ob-promo-controls input:focus{border-color:#111;box-shadow:0 0 0 2px rgba(17,17,17,.06)}
.rsfy-ob-promo-controls button{height:46px;padding:0 17px;border:0;border-radius:12px;background:#111;color:#fff;font-weight:750;cursor:pointer}
.rsfy-ob-promo-controls button:disabled{opacity:.55;cursor:wait}
.rsfy-ob-promo-feedback{margin-top:10px;padding:10px 12px;border-radius:10px;font-size:11px;font-weight:650}
.rsfy-ob-promo-feedback.is-success{background:#eafbf1;color:#08783a}.rsfy-ob-promo-feedback.is-error{background:#fff0ef;color:#b42318}
@media(max-width:640px){.rsfy-ob-promo{margin:0 16px 18px;padding:14px}.rsfy-ob-promo-copy{align-items:flex-start;flex-direction:column}.rsfy-ob-promo-copy small{text-align:left}.rsfy-ob-promo-controls{grid-template-columns:1fr}.rsfy-ob-promo-controls button{width:100%}}

.rsfy-ob-promo-summary{background:#f4fbf7!important}.rsfy-ob-promo-summary strong{color:#08783a!important;font-size:12px!important}
.rsfy-ob-promo{position:relative}.rsfy-ob-promo:before{content:"PROMO";position:absolute;right:16px;top:14px;font-size:9px;font-weight:850;letter-spacing:.12em;color:#98a2b3}

/* Reseefy promo accordion — premium/minimal */
.rsfy-ob-promo-accordion{
  margin:0;
  border:0;
  border-top:1px solid #ececea;
  border-bottom:1px solid #ececea;
  background:#fff;
}
.rsfy-ob-promo-accordion:before{display:none!important;content:none!important}
.rsfy-ob-promo-toggle{
  width:100%;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 30px;
  border:0;
  background:#fff;
  color:#777;
  font:inherit;
  font-size:14px;
  font-weight:400;
  text-align:left;
  cursor:pointer;
}
.rsfy-ob-promo-toggle:hover{background:#fff}
.rsfy-ob-promo-toggle:focus{outline:none}
.rsfy-ob-promo-chevron{
  width:18px;
  height:18px;
  color:#111;
  transition:transform .2s ease;
  flex:0 0 auto;
}
.rsfy-ob-promo-toggle[aria-expanded="true"] .rsfy-ob-promo-chevron{
  transform:rotate(180deg);
}
.rsfy-ob-promo-panel{
  padding:0 30px 24px;
  background:#fff;
  border:0;
}
.rsfy-ob-promo-panel[hidden]{display:none!important}
.rsfy-ob-promo-help{
  margin:0 0 12px;
  color:#8a8a87;
  font-size:11px;
  line-height:1.45;
}
.rsfy-ob-promo-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.rsfy-ob-promo-controls input{
  width:100%;
  height:46px;
  border:1px solid #ddddda;
  border-radius:11px;
  padding:0 13px;
  background:#fff;
  color:#111;
  font:inherit;
  font-size:13px;
  font-weight:500;
  text-transform:uppercase;
  box-shadow:none;
  outline:none;
}
.rsfy-ob-promo-controls input:focus{
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.04);
}
.rsfy-ob-promo-controls button{
  height:46px;
  padding:0 16px;
  border:0;
  border-radius:11px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.rsfy-ob-promo-controls button:disabled{opacity:.55;cursor:wait}
.rsfy-ob-promo-feedback{
  margin-top:9px;
  padding:0;
  border-radius:0;
  background:transparent!important;
  font-size:10.5px;
  font-weight:650;
}
.rsfy-ob-promo-feedback.is-success{color:#08783a}
.rsfy-ob-promo-feedback.is-error{color:#b42318}

@media(max-width:640px){
  .rsfy-ob-promo-toggle{min-height:68px;padding:0 20px;font-size:13px}
  .rsfy-ob-promo-panel{padding:0 20px 20px}
  .rsfy-ob-promo-controls{grid-template-columns:1fr}
  .rsfy-ob-promo-controls button{width:100%}
}

/* Reseefy v0.5.85 — theme-proof promo accordion row */
.rsfy-ob-promo-accordion{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid #e9e9e7!important;
  border-bottom:1px solid #e9e9e7!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.rsfy-ob-promo-accordion::before,
.rsfy-ob-promo-accordion::after{display:none!important;content:none!important}

.rsfy-ob-promo-toggle,
.rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
button.rsfy-ob-promo-toggle{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:74px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:0 30px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  color:#777!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.rsfy-ob-promo-toggle:hover,
.rsfy-ob-promo-toggle:active,
.rsfy-ob-promo-toggle:focus{
  background:#fff!important;
  color:#777!important;
  box-shadow:none!important;
  transform:none!important;
}
.rsfy-ob-promo-toggle:focus-visible{
  outline:2px solid #111!important;
  outline-offset:-3px!important;
}
.rsfy-ob-promo-toggle-label{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#777!important;
  font:inherit!important;
}
.rsfy-ob-promo-toggle-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-chevron{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  transition:transform .2s ease!important;
}
.rsfy-ob-promo-toggle[aria-expanded="true"] .rsfy-ob-promo-chevron{
  transform:rotate(180deg)!important;
}

.rsfy-ob-promo-panel{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:0 30px 24px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-panel[hidden]{display:none!important}
.rsfy-ob-promo-help{
  margin:0 0 12px!important;
  color:#8a8a87!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.rsfy-ob-promo-controls{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:stretch!important;
}
.rsfy-ob-promo-controls input{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #dddeda!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#111!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:500!important;
  line-height:46px!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  outline:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.rsfy-ob-promo-controls input:focus{
  border-color:#111!important;
  box-shadow:0 0 0 2px rgba(17,17,17,.04)!important;
}
.rsfy-ob-promo-controls button[data-promo-apply]{
  all:unset!important;
  box-sizing:border-box!important;
  min-width:104px!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 15px!important;
  border-radius:11px!important;
  background:#111!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.rsfy-ob-promo-controls button[data-promo-apply]:hover{background:#111!important}
.rsfy-ob-promo-controls button[data-promo-apply]:disabled{opacity:.55!important;cursor:wait!important}

@media(max-width:640px){
  .rsfy-ob-promo-toggle,
  .rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
  button.rsfy-ob-promo-toggle{
    min-height:68px!important;
    padding:0 20px!important;
    font-size:13px!important;
  }
  .rsfy-ob-promo-panel{padding:0 20px 20px!important}
  .rsfy-ob-promo-controls{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .rsfy-ob-promo-controls button[data-promo-apply]{
    width:100%!important;
    min-width:0!important;
  }
}

/* Reseefy v0.5.86 — promo row aligned with checkout rows + iOS no-zoom */
.rsfy-ob-promo-accordion{
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid #e7e7e5!important;
  border-bottom:1px solid #e7e7e5!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-toggle,
.rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
button.rsfy-ob-promo-toggle{
  width:100%!important;
  min-height:78px!important;
  padding:0 28px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-toggle-label{
  color:#7b7b78!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
.rsfy-ob-promo-toggle-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
}
.rsfy-ob-promo-chevron{
  width:17px!important;
  height:17px!important;
}
.rsfy-ob-promo-panel{
  width:100%!important;
  padding:0 28px 22px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-help{
  margin:0 0 12px!important;
  color:#8a8a87!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.rsfy-ob-promo-controls{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
}
.rsfy-ob-promo-controls input{
  min-width:0!important;
  height:44px!important;
  border:1px solid #dededb!important;
  border-radius:10px!important;
  padding:0 12px!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  transition:border-color .15s ease, box-shadow .15s ease!important;
}
.rsfy-ob-promo-controls input:focus{
  border-color:#111!important;
  box-shadow:0 0 0 2px rgba(17,17,17,.04)!important;
  transform:none!important;
  -webkit-transform:none!important;
  zoom:1!important;
}
.rsfy-ob-promo-controls button[data-promo-apply]{
  height:44px!important;
  min-width:102px!important;
  border-radius:10px!important;
  padding:0 14px!important;
  font-size:12px!important;
}
.rsfy-ob-promo-feedback{
  margin-top:9px!important;
}

/* Keep all separators aligned inside the subscription summary card. */
.rsfy-ob-checkout-row,
.rsfy-ob-promo-accordion{
  box-sizing:border-box!important;
}
.rsfy-ob-promo-accordion + .rsfy-ob-checkout-row{
  border-top:0!important;
}

@media(max-width:640px){
  .rsfy-ob-promo-toggle,
  .rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
  button.rsfy-ob-promo-toggle{
    min-height:72px!important;
    padding:0 20px!important;
  }
  .rsfy-ob-promo-toggle-label{
    font-size:14px!important;
  }
  .rsfy-ob-promo-panel{
    padding:0 20px 18px!important;
  }
  .rsfy-ob-promo-controls{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .rsfy-ob-promo-controls input{
    width:100%!important;
    height:48px!important;
    min-height:48px!important;
    /* Safari iOS auto-zooms focused form fields below 16px. */
    font-size:16px!important;
    line-height:1.2!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
  .rsfy-ob-promo-controls input:focus{
    font-size:16px!important;
    transform:none!important;
    -webkit-transform:none!important;
    zoom:1!important;
  }
  .rsfy-ob-promo-controls button[data-promo-apply]{
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    font-size:13px!important;
  }
}

@media(min-width:641px){
  .rsfy-ob-promo-controls input{
    font-size:13px!important;
  }
}

/* Reseefy v0.5.87 — Code promo = exact checkout-row geometry */
.rsfy-ob-promo-accordion{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:1px solid #e6e6e4!important;
  border-bottom:1px solid #e6e6e4!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-toggle,
.rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
button.rsfy-ob-promo-toggle{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:106px!important;
  height:106px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0!important;
  padding:0 32px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#7c7c79!important;
  box-shadow:none!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.rsfy-ob-promo-toggle-label{
  margin:0!important;
  padding:0!important;
  color:#7c7c79!important;
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.rsfy-ob-promo-toggle-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  color:#111!important;
}
.rsfy-ob-promo-chevron{
  width:18px!important;
  height:18px!important;
}
.rsfy-ob-promo-panel{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 32px 24px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-panel[hidden]{display:none!important}

/* One separator only between adjacent rows — same thickness/color as checkout rows */
.rsfy-ob-promo-accordion + .rsfy-ob-checkout-row{
  border-top:0!important;
}
.rsfy-ob-checkout-row + .rsfy-ob-promo-accordion{
  border-top:0!important;
}

/* Match Facturation/Compte typography exactly */
.rsfy-ob-promo-toggle-label{
  font-size:16px!important;
  font-weight:400!important;
  color:#7c7c79!important;
}

@media(max-width:640px){
  .rsfy-ob-promo-toggle,
  .rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
  button.rsfy-ob-promo-toggle{
    min-height:96px!important;
    height:96px!important;
    padding:0 20px!important;
  }
  .rsfy-ob-promo-toggle-label{
    font-size:16px!important;
  }
  .rsfy-ob-promo-panel{
    padding:0 20px 20px!important;
  }
}

/* On large desktop keep the same proportions as Facturation/Compte rows */
@media(min-width:641px){
  .rsfy-ob-promo-toggle,
  .rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
  button.rsfy-ob-promo-toggle{
    min-height:106px!important;
    height:106px!important;
    padding:0 32px!important;
  }
  .rsfy-ob-promo-toggle-label{
    font-size:16px!important;
  }
}

/* Reseefy v0.5.88 — exact geometry copied from .rsfy-ob-checkout-row */
.rsfy-ob-promo-accordion{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid #ededeb!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-toggle,
.rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
button.rsfy-ob-promo-toggle{
  all:unset!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  padding:0 18px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#7b7e82!important;
  box-shadow:none!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.rsfy-ob-promo-toggle-label{
  margin:0!important;
  padding:0!important;
  color:#7b7e82!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:400!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.rsfy-ob-promo-toggle-icon{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  flex:0 0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  color:#111!important;
}
.rsfy-ob-promo-chevron{
  width:15px!important;
  height:15px!important;
}
.rsfy-ob-promo-panel{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  padding:0 18px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rsfy-ob-promo-panel[hidden]{display:none!important}

/* Avoid double separators: promo owns exactly one 1px #ededeb bottom line. */
.rsfy-ob-checkout-row + .rsfy-ob-promo-accordion{
  border-top:0!important;
}
.rsfy-ob-promo-accordion + .rsfy-ob-checkout-row{
  border-top:0!important;
}

/* Open state grows only by the content; the closed header keeps checkout-row dimensions. */
.rsfy-ob-promo-toggle[aria-expanded="true"]{
  min-height:48px!important;
  height:48px!important;
}

@media(max-width:640px){
  .rsfy-ob-promo-toggle,
  .rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
  button.rsfy-ob-promo-toggle{
    min-height:48px!important;
    height:48px!important;
    padding:0 14px!important;
    gap:20px!important;
  }
  .rsfy-ob-promo-toggle-label{
    font-size:10px!important;
    font-weight:400!important;
    color:#7b7e82!important;
  }
  .rsfy-ob-promo-panel{
    padding:0 14px 16px!important;
  }
  /* iOS Safari: 16px only INSIDE the editable field prevents focus zoom. */
  .rsfy-ob-promo-controls input{
    font-size:16px!important;
  }
}

/* Reseefy v0.5.89 — minimal loading spinner for subscription total */
.rsfy-ob-checkout-total [data-checkout-total]{
  min-width:34px;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
.rsfy-ob-total-spinner{
  width:20px;
  height:20px;
  display:inline-block;
  box-sizing:border-box;
  border:2px solid #dededb;
  border-top-color:#111;
  border-radius:50%;
  animation:rsfy-ob-total-spin .72s linear infinite;
}
@keyframes rsfy-ob-total-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .rsfy-ob-total-spinner{width:18px;height:18px;border-width:2px}
}
@media(prefers-reduced-motion:reduce){
  .rsfy-ob-total-spinner{animation-duration:1.4s}
}

/* Reseefy v0.5.90 — premium promo cleanup */
.rsfy-ob-promo-accordion{
  background:#f7fbf8!important;
  border-bottom:1px solid #ededeb!important;
}
.rsfy-ob-promo-toggle,
.rsfy-ob-promo-accordion .rsfy-ob-promo-toggle,
button.rsfy-ob-promo-toggle{
  background:#f7fbf8!important;
}
/* Keep label and arrow colors unchanged. */
.rsfy-ob-promo-toggle-label{
  color:#7b7e82!important;
}
.rsfy-ob-promo-toggle-icon,
.rsfy-ob-promo-chevron{
  color:#111!important;
}

/* The opened content stays clean and white/minimal. */
.rsfy-ob-promo-panel{
  background:#fff!important;
}

/* Placeholder: same visual language as the helper text above. */
.rsfy-ob-promo-controls input{
  color:#7f8388!important;
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.rsfy-ob-promo-controls input::placeholder{
  color:#8a8a87!important;
  opacity:1!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.rsfy-ob-promo-controls input::-webkit-input-placeholder{
  color:#8a8a87!important;
  opacity:1!important;
  font-family:inherit!important;
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

@media(max-width:640px){
  /* Keep 16px on the actual editable text to prevent Safari auto-zoom,
     while the placeholder itself remains visually lighter/smaller. */
  .rsfy-ob-promo-controls input{
    font-size:16px!important;
  }
  .rsfy-ob-promo-controls input::placeholder,
  .rsfy-ob-promo-controls input::-webkit-input-placeholder{
    font-size:11px!important;
  }
}

/* v0.5.94 - spinner total définitivement retiré */
.rsfy-ob-total-spinner,[data-checkout-total-spinner]{display:none!important;animation:none!important;}
