/* Force width and max-width for wide buttons in admin provider preview */
.vcs-admin-provider-preview .vcs-btn--wide,
.vcs-admin-provider-preview .wsc-button {
  width: 260px !important;
  max-width: 420px !important;
  min-width: 200px !important;
  flex: 1 1 260px !important;
  box-sizing: border-box;
}
/* VentraConnect Social Login - Button & modal styles */
@layer vcs-base, vcs-provider, vcs-modal;

@layer vcs-base {
  .vcs-btn{
    --vcs-bg:#fff;
    --vcs-bg-hover:color-mix(in srgb, var(--vcs-bg) 92%, #000 8%);
    --vcs-fg:#111;
    --vcs-border:#e5e7eb;
    --vcs-icon:currentColor;
    --vcs-width:auto;
    --vcs-height:48px;
    --vcs-padding-y:10px;
    --vcs-padding-x:24px;
    --vcs-font-size:15px;
    --vcs-font-weight:600;
    --vcs-gap:0.7rem;
    --vcs-icon-size:26px;
    --vcs-icon-radius:0px;
    --vcs-label-display:inline-flex;
    --vcs-label-color:var(--vcs-fg);
    --vcs-justify:center;
    --vcs-radius:0;
    display:inline-flex;
    align-items:center;
    justify-content:var(--vcs-justify);
    gap:var(--vcs-gap);
    width:var(--vcs-width, auto);
    min-height:var(--vcs-height);
    padding:var(--vcs-padding-y) var(--vcs-padding-x);
    background:var(--vcs-bg) !important;
    color:var(--vcs-fg) !important;
    border:1px solid var(--vcs-border) !important;
    border-radius:var(--vcs-radius);
    font-size:var(--vcs-font-size);
    font-weight:var(--vcs-font-weight);
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    box-sizing:border-box;
    transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
  }
  .vcs-btn:focus-visible{ outline:2px solid color-mix(in srgb, var(--vcs-fg) 55%, transparent); outline-offset:2px; }
  .vcs-btn__icon{
    width:var(--vcs-icon-size);
    height:var(--vcs-icon-size);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    color:var(--vcs-icon, currentColor);
    flex:0 0 auto;
  }
  .vcs-btn__icon > svg,
  .vcs-btn__icon > img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:contain;
  }
  .vcs-btn__label{
    display:var(--vcs-label-display);
    color:var(--vcs-label-color) !important;
    font-size:inherit;
    line-height:1.1;
    white-space:nowrap;
    flex:0 1 auto;
  }
  .vcs-btn--wide{
    --vcs-width:min(260%, var(--vcs-wide-max-width, 100%));
    --vcs-height:var(--vcs-wide-height, 48px);
    --vcs-padding-y:var(--vcs-wide-padding-y, 12px);
    --vcs-padding-x:var(--vcs-wide-padding-x, 30px);
    --vcs-font-size:var(--vcs-wide-font-size, 14px);
    --vcs-icon-size:var(--vcs-wide-icon-size, 24px);
    --vcs-justify:var(--vcs-wide-justify, center);
    --vcs-label-display:inline-flex;
    box-shadow: 0 1px 2px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.04);
    border-radius: 5px;
  }
  .vcs-btn[data-theme="dark"]{
    --vcs-bg-hover:color-mix(in srgb, var(--vcs-bg) 82%, #ffffff 18%);
  }
  .vcs-btn[data-theme="minimal"]{
    --vcs-fg:#1f1f1f;
    --vcs-bg-hover:color-mix(in srgb, #ffffff 94%, var(--vcs-fg) 6%);
  }
  .vcs-btn--wide:hover{
    background:var(--vcs-bg-hover, color-mix(in srgb, var(--vcs-bg) 92%, #000 8%)) !important;
  }
  .vcs-btn--wide .vcs-btn__label{
    flex:0 1 auto;
    justify-content:center;
    text-align:center;
  }
  .vcs-btn--compact{
    --vcs-width:var(--vcs-compact-size, 88px);
    --vcs-height:var(--vcs-compact-size, 40px);
    --vcs-padding-y:0;
    --vcs-padding-x:0;
    --vcs-gap:0;
    --vcs-icon-size:var(--vcs-compact-icon-size, 25px);
    --vcs-label-display:none;
    --vcs-justify:center;
  }
}

@layer vcs-provider {
  /* Google */
  .vcs-btn[data-provider="google"][data-theme="light"]{
    --vcs-bg:#F5F5F5;
    --vcs-fg:#1f1f1f;
    --vcs-border:#dadce0;
  }
  .vcs-btn[data-provider="google"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="google"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#e5e7eb;
  }

  /* Facebook */
  .vcs-btn[data-provider="facebook"][data-theme="light"]{
    --vcs-bg:#1877F2;
    --vcs-fg:#fff;
    --vcs-border:#0654d1;
  }
  .vcs-btn[data-provider="facebook"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#092b61;
  }
  .vcs-btn[data-provider="facebook"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#0866ff33;
  }

  /* Twitch */
  .vcs-btn[data-provider="twitch"][data-theme="light"]{
    --vcs-bg:#9146FF;
    --vcs-fg:#ffffff;
    --vcs-border:#772ce8;
  }
  .vcs-btn[data-provider="twitch"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#c7afff;
    --vcs-border:#5f32c9;
  }
  .vcs-btn[data-provider="twitch"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#9146FF;
    --vcs-border:#9146FF33;
  }

  /* Reddit */
  .vcs-btn[data-provider="reddit"][data-theme="light"]{
    --vcs-bg:#FF4500;
    --vcs-fg:#ffffff;
    --vcs-border:#cc3700;
  }
  .vcs-btn[data-provider="reddit"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#ff9a75;
    --vcs-border:#ff450066;
  }
  .vcs-btn[data-provider="reddit"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#FF4500;
    --vcs-border:#FF450033;
  }

  /* GitHub */
  .vcs-btn[data-provider="github"][data-theme="light"]{
    --vcs-bg:#d8d8d8;
    --vcs-fg:#000000;
    --vcs-border:#1b1f23;
  }
  .vcs-btn[data-provider="github"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#ffffff;
    --vcs-border:#30363d;
  }
  .vcs-btn[data-provider="github"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#d0d7de;
  }

  /* LinkedIn */
  .vcs-btn[data-provider="linkedin"][data-theme="light"]{
    --vcs-bg:#0a66c2;
    --vcs-fg:#fff;
    --vcs-border:#084f97;
  }
  .vcs-btn[data-provider="linkedin"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#052d66;
  }
  .vcs-btn[data-provider="linkedin"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#0a66c233;
  }

  /* Discord */
  .vcs-btn[data-provider="discord"][data-theme="light"]{
    --vcs-bg:#5865f2;
    --vcs-fg:#fff;
    --vcs-border:#4752c4;
  }
  .vcs-btn[data-provider="discord"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#2e357d;
  }
  .vcs-btn[data-provider="discord"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#5865f233;
  }

  /* Slack */
  .vcs-btn[data-provider="slack"][data-theme="light"]{
    --vcs-bg:#4a154b;
    --vcs-fg:#fff;
    --vcs-border:#3a103b;
  }
  .vcs-btn[data-provider="slack"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#220922;
  }
  .vcs-btn[data-provider="slack"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#4a154b33;
  }

  /* Microsoft */
  .vcs-btn[data-provider="microsoft"][data-theme="light"]{
    --vcs-bg:#f4f4f4;
    --vcs-fg:#000000;
    --vcs-border:#1f1f1f;
  }
  .vcs-btn[data-provider="microsoft"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="microsoft"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#d1d5db;
  }

  /* Amazon */
  .vcs-btn[data-provider="amazon"][data-theme="light"]{
    --vcs-bg:#FFCE12;
    --vcs-fg:#000000;
    --vcs-border:#1a232e;
  }
  .vcs-btn[data-provider="amazon"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#ff9900;
    --vcs-border:#0e141a;
  }
  .vcs-btn[data-provider="amazon"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#232f3e33;
  }

  /* Yahoo */
  .vcs-btn[data-provider="yahoo"][data-theme="light"]{
    --vcs-bg:#610FCD;
    --vcs-fg:#fff;
    --vcs-border:#4b01a5;
  }
  .vcs-btn[data-provider="yahoo"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#320074;
  }
  .vcs-btn[data-provider="yahoo"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#6001d233;
  }

  /* WordPress.com */
  .vcs-btn[data-provider="wordpress"][data-theme="light"]{
    --vcs-bg:#0087be;
    --vcs-fg:#fff;
    --vcs-border:#006b98;
  }
  .vcs-btn[data-provider="wordpress"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#004864;
  }
  .vcs-btn[data-provider="wordpress"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#0087be33;
  }

  /* Spotify */
  .vcs-btn[data-provider="spotify"][data-theme="light"]{
    --vcs-bg:#1db954;
    --vcs-fg:#ffffff;
    --vcs-border:#169247;
  }
  .vcs-btn[data-provider="spotify"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#0c4b25;
  }
  .vcs-btn[data-provider="spotify"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#1db95433;
  }

  /* LINE */
  .vcs-btn[data-provider="line"][data-theme="light"]{
    --vcs-bg:#06C755;
    --vcs-fg:#ffffff;
    --vcs-border:#049945;
  }
  .vcs-btn[data-provider="line"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#049945;
  }
  .vcs-btn[data-provider="line"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#06C75533;
  }

  /* Twitter (X) */
  .vcs-btn[data-provider="twitter"][data-theme="light"]{
    --vcs-bg:#262C36;
    --vcs-fg:#ffffff;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="twitter"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="twitter"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#d1d5db;
  }

  /* TikTok */
  .vcs-btn[data-provider="tiktok"][data-theme="light"]{
    --vcs-bg:#ffffff;
    --vcs-fg:#000000;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="tiktok"][data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#000;
  }
  .vcs-btn[data-provider="tiktok"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#d1d5db;
  }

  /* Ensure provider icons stay small inside MemberPress forms (override generic img/svg rules). */
  .mepr-form .vcs-btn .vcs-btn__icon,
  .mepr-login-form .vcs-btn .vcs-btn__icon,
  .mepr-checkout-form .vcs-btn .vcs-btn__icon {
    width: var(--vcs-icon-size);
    height: var(--vcs-icon-size);
    max-width: var(--vcs-icon-size);
    max-height: var(--vcs-icon-size);
  }

  .mepr-form .vcs-btn__icon > svg,
  .mepr-login-form .vcs-btn__icon > svg,
  .mepr-checkout-form .vcs-btn__icon > svg,
  .mepr-form .vcs-btn__icon > img,
  .mepr-login-form .vcs-btn__icon > img,
  .mepr-checkout-form .vcs-btn__icon > img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: inline-block;
  }

  /* Facebook and others above ensure >=4.5:1 contrast in light/dark. */



  /* Magic Link (token-based) */
  .vcs-btn.vcs-btn--magic-link[data-theme="light"]{
    --vcs-bg:#1C4FD8;
    --vcs-fg:#ffffff;
    --vcs-border:#132857;
  }

  .vcs-btn.vcs-btn--magic-link[data-theme="light"] .vcs-btn__icon svg path {
  fill: #ffffff;
}

  .vcs-btn.vcs-btn--magic-link[data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#020617;
  }
  .vcs-btn.vcs-btn--magic-link[data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#e5e7eb;
  }

  /* OTP Email (token-based) */
.vcs-btn.vcs-btn--otp[data-theme="light"]{
  --vcs-bg:    #0f766e;   /* deep teal */
  --vcs-fg:    #ffffff;   /* white text */
  --vcs-border:#065f46;   /* darker teal border */
}

.vcs-btn.vcs-btn--otp[data-theme="light"] .vcs-btn__icon svg rect,
.vcs-btn.vcs-btn--otp[data-theme="light"] .vcs-btn__icon svg path {
  stroke: currentColor;
}
  .vcs-btn.vcs-btn--otp[data-theme="dark"] {
    --vcs-bg:#262C36;
    --vcs-fg:#fff;
    --vcs-border:#052e28;
  }
  .vcs-btn.vcs-btn--otp[data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#1f1f1f;
    --vcs-border:#065f4633;
  }

  /* Passkey */
  .vcs-btn[data-provider="passkey"][data-theme="light"]{
    --vcs-bg:#f8fafc;
    --vcs-bg-hover:#eef2f7;
    --vcs-fg:#111827;
    --vcs-border:#d1d5db;
  }
  .vcs-btn[data-provider="passkey"][data-theme="dark"]{
    --vcs-bg:#262c36;
    --vcs-fg:#ffffff;
    --vcs-border:#020617;
  }
  .vcs-btn[data-provider="passkey"][data-theme="minimal"]{
    --vcs-bg:transparent;
    --vcs-fg:#111827;
    --vcs-border:#d1d5db;
  }
  .vcs-btn[data-provider="passkey"] .vcs-btn__icon svg,
  .vcs-btn[data-provider="passkey"] .vcs-btn__icon svg * {
    fill: none;
    stroke: currentColor;
  }

  /* Magic Link – light theme (premium gradient) */
.vcs-btn.vcs-btn--magic-link[data-theme="light"]{
  --vcs-fg:    #ffffff;
  --vcs-border: transparent;
  background: linear-gradient(135deg, #1C4FD8, #790BE8);
  color: var(--vcs-fg);
}

/* keep icon in sync */
.vcs-btn.vcs-btn--magic-link[data-theme="light"] .vcs-btn__icon svg path {
  fill: currentColor;
}

/* simple hover: no shadow, just a touch brighter */
.vcs-btn.vcs-btn--magic-link[data-theme="light"]:hover {
  filter: brightness(1.06);
}

.vcs-btn.vcs-btn--magic-link[data-theme="light"]:active {
  filter: brightness(0.97);
}

}

@layer vcs-modal {
  .vcs-modal-wrap{
    position: fixed; inset: 0; z-index: 999999;
    display: flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, #0f172a 68%, transparent);
    backdrop-filter: blur(8px);
    padding: clamp(14px, 4vw, 36px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    animation: vcs-fade-in .18s ease-out both;
  }
  .vcs-modal{
    position: relative;
    width: min(480px, 100%);
    margin: auto;
    display: flex;
    justify-content: center;
    color: #111827;
    box-sizing: border-box;
  }
  .vcs-modal__card{
    position: relative;
    width: 100%;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 60%, #eef2ff 100%);
    border-radius: 20px;
    border: 1px solid rgba(148,163,184,.25);
    box-shadow: 0 30px 70px rgba(15,23,42,.22), 0 1px 0 rgba(255,255,255,.9) inset;
    padding: clamp(20px, 5vw, 36px) clamp(18px, 5vw, 34px) clamp(22px, 5vw, 34px) !important;
    transform: translateY(8px);
    animation: vcs-slide-up .22s ease-out both;
    box-sizing: border-box;
  }
  .vcs-modal__card::before{
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(120% 90% at 50% -25%, rgba(99,102,241,.25) 0%, rgba(59,130,246,.12) 48%, transparent 72%);
    pointer-events: none;
    z-index: 0;
  }
  .vcs-modal__card::after{
    content: "";
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 82%;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(135deg, #6366f1 0%, #14b8a6 45%, #38bdf8 100%);
    opacity: .9;
    pointer-events: none;
    z-index: 1;
  }
  .vcs-modal__close{
    position: absolute;
    top: 14px; right: 14px;
    width: 38px; height: 38px;
    border-radius: 12px;
    border: 1px solid rgba(148,163,184,.35);
    background: rgba(255,255,255,.9);
    color: #475569;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; line-height: 1;
    transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
    box-shadow: 0 8px 18px rgba(15,23,42,.12);
    z-index: 10;
    touch-action: manipulation;
  }
  .vcs-modal__close:hover{ background:#1e293b; color:#f8fafc; transform:translateY(-1px); border-color:rgba(30,41,59,.7); }
  .vcs-modal__header{ margin-bottom: 16px !important; position: relative; z-index: 5; padding-right: 36px; }
  .vcs-modal__header h3{ margin: 0; font-size: clamp(1.25rem, 4vw, 1.6rem); font-weight: 700; color: #0f172a; letter-spacing: -0.01em; }
  .vcs-modal__header p{ margin: 6px 0 0; color: #4b5563; font-size: clamp(0.88rem, 3vw, 1rem); line-height: 1.5; }
  .vcs-modal__notice{
    margin-bottom: 16px;
    border-radius: 16px;
    padding: 0;
    transition: opacity .2s ease;
    position: relative;
    z-index: 5;
  }
  .vcs-modal__notice[hidden]{ display: none !important; }
  .vcs-modal__body{
    display: flex; flex-direction: column; gap: 18px;
    position: relative; z-index: 5;
  }
  .vcs-alert{
    position: relative;
    border-radius: 14px;
    padding: 14px 18px !important;
    font-weight: 600;
    font-size: .92rem;
    border: 1px solid transparent;
    box-shadow: 0 14px 24px rgba(15,23,42,.1);
    overflow: hidden;
  }
  .vcs-alert::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(145deg, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 70%);
  }
  .vcs-alert span{ position: relative; z-index: 1; display: block; }
  .vcs-alert--success{ background:linear-gradient(135deg, rgba(16,185,129,.12) 0%, rgba(59,130,246,.08) 100%); color:#047857; border-color:rgba(74,222,128,.35); }
  .vcs-alert--error{ background:linear-gradient(135deg, rgba(248,113,113,.16) 0%, rgba(251,191,36,.08) 100%); color:#b91c1c; border-color:rgba(248,113,113,.45); }
  .vcs-alert--info{ background:linear-gradient(135deg, rgba(59,130,246,.16) 0%, rgba(79,70,229,.12) 100%); color:#1d4ed8; border-color:rgba(125,211,252,.45); }
  .vcs-modal__content{ display: flex; flex-direction: column; gap: 18px; }
  .vcs-form{ display: flex; flex-direction: column; gap: 16px; position: relative; z-index: 5; }
  .vcs-field{ display: flex; flex-direction: column; gap: 6px; position: relative; z-index: 5; }
  .vcs-field label{ font-weight: 600; font-size: .95rem; color: #0f172a; }
  .vcs-field input{
    display: block; width: 100%;
    border-radius: 14px;
    border: 1px solid rgba(148,163,184,.45);
    background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(248,250,252,.92) 100%);
    padding: 12px 16px;
    font-size: 16px !important; /* Prevents auto-zoom on mobile Safari */
    line-height: 1.4;
    color: #0f172a;
    box-shadow: 0 10px 20px rgba(15,23,42,.06);
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    pointer-events: auto !important;
    user-select: text !important;
    -webkit-user-select: text !important;
    touch-action: manipulation;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
  }
  .vcs-field input:focus{
    outline: none;
    border-color: #6366f1;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(99,102,241,.22), 0 14px 22px rgba(59,130,246,.14);
  }
  .vcs-hint{ margin: 0; color: #5b6478; font-size: .82rem; line-height: 1.55; }
  .vcs-modal__body .vcs-verify[hidden]{ display: none !important; }
  .vcs-modal__body .vcs-actions{ display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; position: relative; z-index: 5; }
  .vcs-modal__body .button{
    border-radius: 999px;
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
    border: 1px solid transparent;
    background: #e2e8f0;
    color: #111827;
    transition: filter .2s ease, background .2s ease, transform .2s ease;
    cursor: pointer;
    touch-action: manipulation;
    pointer-events: auto !important;
  }
  .vcs-modal__body .button:hover:not([disabled]){ filter: brightness(.98); transform: translateY(-1px); }
  .vcs-modal__body .button.button-primary{
    background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
    color: #fff;
    border: 1px solid rgba(15,23,42,.65);
    box-shadow: 0 12px 24px rgba(15,23,42,.2);
  }
  .vcs-modal__body .button[disabled]{ opacity: .65; cursor: not-allowed; }
  .vcs-countdown{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px !important;
    border-radius: 12px;
    background: rgba(15,23,42,.06);
    border: 1px solid rgba(148,163,184,.35);
    font-weight: 600;
    color: #0f172a;
    font-size: .92rem;
    backdrop-filter: blur(2px);
  }
  .vcs-countdown.is-active{
    border-color: rgba(99,102,241,.35);
    box-shadow: 0 10px 22px rgba(59,130,246,.15);
  }
  .vcs-countdown[hidden]{ display: none !important; }
  .vcs-countdown__time{
    font-feature-settings: "tnum";
    font-size: 1.1rem;
    letter-spacing: .06em;
    color: #1d4ed8;
  }
  .vcs-countdown__label{
    color: #475569;
    font-weight: 500;
  }
  .vcs-countdown[data-state="expired"] .vcs-countdown__label{
  justify-content: flex-start;
}

/* Admin preview: keep wide buttons centered while capping width */
.wsc-admin .wsc-preview .vcs-btn--wide,
.wsc-admin .wsc-preview .vcs-btn--wide.vcs-btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 160px !important;
  max-width: 300px !important;
  width: auto !important;
  flex: 0 1 auto !important;
  box-sizing: border-box !important;
}
.wsc-admin .wsc-preview .vcs-btn--wide .vcs-btn__icon {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
}
.wsc-admin .wsc-preview .vcs-btn--wide .vcs-btn__label {
  margin-left: 0 !important;
  flex: 0 1 auto !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.wsc-buttons.wsc-style-wide .vcs-btn {
  /* prefer a reasonable basis but allow growth up to max; prevents full-width expansion */
  flex: 1 1 var(--vcs-wide-basis, 260px) !important;
  min-width: var(--vcs-wide-min, 160px) !important;
  max-width: var(--vcs-wide-max, 420px) !important;
}
@media (max-width: 640px) {
  .wsc-buttons.wsc-style-wide { justify-content: stretch; }
  .wsc-buttons.wsc-style-wide .vcs-btn { flex: 1 1 100% !important; min-width: 0 !important; max-width: none !important; }
}

/* Fix admin preview (.wsc-button) which uses different class names and may set width:100%.
   Apply same equalization / min/max rules to .wsc-button in wide-style rows. */
.wsc-buttons.wsc-style-wide .wsc-button {
  flex: 1 1 var(--vcs-wide-basis, 260px) !important;
  min-width: var(--vcs-wide-min, 160px) !important;
  max-width: var(--vcs-wide-max, 420px) !important;
  width: auto !important;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  --vcs-bg-hover:color-mix(in srgb, var(--vcs-bg, #f3f4f6) 92%, #000 8%);
}
@media (max-width: 640px) {
  .wsc-buttons.wsc-style-wide .wsc-button { flex: 1 1 100% !important; min-width: 0 !important; max-width: none !important; }
}

/* Strong override: prevent plugin's --vcs-width from using `min(260%, ...)` which causes full-width buttons in preview.
   Force a sensible pixel basis and max for wide buttons inside preview rows. */

/* Admin preview: allow wide button to grow with text, but not shrink below min or exceed max */


.wsc-buttons.wsc-style-wide .vcs-btn--wide,
.wsc-buttons.wsc-style-wide .wsc-button {
  min-width: 250px !important;
  max-width: 300px !important;
  width: auto !important;
  flex: 1 1 auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.wsc-buttons.wsc-style-wide .vcs-btn--wide:hover,
.wsc-buttons.wsc-style-wide .wsc-button:hover,
.wsc-admin .wsc-preview .vcs-btn--wide:hover {
  background:var(--vcs-bg-hover, color-mix(in srgb, var(--vcs-bg, #f3f4f6) 90%, #000000 10%)) !important;
}

/* Ensure label text stays centered along with icon */
.wsc-buttons.wsc-style-wide .vcs-btn--wide .vcs-btn__label,
.wsc-buttons.wsc-style-wide .wsc-button .vcs-btn__label {
  text-align: center;
  flex: 0 1 auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-underline-position: none;
}

.wsc-buttons .vcs-compact-divider {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
}
.wsc-buttons .vcs-compact-divider::before,
.wsc-buttons .vcs-compact-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #d1d5db;
}
.wsc-buttons .vcs-compact-divider span {
  display: inline-block;
}
.wsc-style-compact .vcs-btn--wide {
  --vcs-width: 100%;
  --vcs-wide-max-width: 100%;
  --vcs-wide-min: 0;
  width: 100% !important;
  justify-content: center;
}
.vcs-debug-badge {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  background: rgba(59,130,246,0.12);
  color: #2563eb;
  border: 1px solid rgba(59,130,246,0.35);
  border-radius: 999px;
}

/* Center the whole button stack inside MemberPress forms */
.mepr-login-form .vcs-sl-buttons,
.mepr-form .vcs-sl-buttons {
    text-align: center;
}

/* Keep buttons nicely stacked and not full-width if theme forces it */
.mepr-login-form .vcs-sl-buttons .vcs-sl-button,
  .mepr-form .vcs-sl-buttons .vcs-sl-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 0.25rem 0;
  }

/* Center social buttons only on MemberPress login + checkout 
.vcs-sl-mp-login-container .wsc-buttons.wsc-style-wide,
.vcs-sl-mp-checkout-container .wsc-buttons.wsc-style-wide {
    justify-content: center !important;
}
*/
