/* Orazio Puglisi Paywall - formulaire de paiement */
/* Ajustements RTL (arabe, etc.) : les marges pensées pour le sens
   gauche-à-droite sont inversées, sans dupliquer le reste du CSS. */
.veo-pa-rtl .veo-referral input { margin-left:0 !important; margin-right:8px !important; }
.veo-pa-rtl .veo-tier .veo-tier-price .veo-currency { margin-left:0 !important; margin-right:2px; }
.veo-pa-rtl #veo-testimonial-skip { margin-left:0 !important; margin-right:8px !important; }
.veo-pa-wrap .veo-referral { background:#f9fafb; border:1px dashed #d1d5db; border-radius:10px; padding:14px 18px; margin-bottom:18px; }
.veo-pa-wrap .veo-referral label { font-weight:600; font-size:.95em; }
.veo-pa-wrap .veo-referral input { text-transform:uppercase; border:1px solid #d1d5db; border-radius:6px; padding:6px 10px; margin-left:8px; }
.veo-pa-wrap .veo-referral .description { font-size:.85em; color:#6b7280; margin:6px 0 0; }
.veo-pa-wrap .veo-identity { max-width:560px; margin:0 auto 18px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px 18px; text-align:center; }
.veo-pa-wrap .veo-identity-title { font-weight:700; margin:0 0 10px; }
.veo-pa-wrap .veo-identity-row { display:flex; gap:8px; flex-wrap:wrap; }
.veo-pa-wrap .veo-identity input[type="text"], .veo-pa-wrap .veo-identity input[type="email"] { flex:1; min-width:140px; width:100%; box-sizing:border-box; padding:9px 10px; border:1px solid #d1d5db; border-radius:8px; font-size:.95em; }
.veo-pa-wrap .veo-identity-email { margin:8px 0 0; }
.veo-pa-wrap .veo-gift-line { margin:12px 0 0; font-size:.92em; }
.veo-pa-wrap .veo-gift-line label { cursor:pointer; }
.veo-pa-wrap .veo-gift-line strong { color:#c0392b; }
.veo-pa-notice-row { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.veo-pa-notice { flex:1; min-width:220px; display:flex; align-items:center; gap:8px; background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:10px 14px; font-size:.88em; font-weight:600; color:#374151; }
.veo-pa-notice .veo-pa-icon { font-size:1.3em; line-height:1; }
@keyframes veoPaPulse { 0%, 49% { opacity: 1; } 50%, 100% { opacity: .35; } }
.veo-login-code-notice .veo-pa-icon { animation: veoPaPulse 1.4s steps(1) infinite; }
.veo-paywall { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:24px; margin:8px 0 30px; }
.veo-tier { position:relative; background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:32px 22px 26px; text-align:center; box-shadow:0 1px 3px rgba(0,0,0,.05); transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.veo-tier:hover { transform: translateY(-5px); box-shadow: 0 16px 32px rgba(0,0,0,.09); border-color: var(--veo-accent); }
.veo-tier.veo-tier-featured { border:2px solid var(--veo-accent); padding-top:40px; }
.veo-tier-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--veo-accent); color:#fff; font-size:.72em; font-weight:700; padding:5px 14px; border-radius:20px; white-space:nowrap; box-shadow:0 2px 6px rgba(0,0,0,.15); text-transform:uppercase; letter-spacing:.03em; }
.veo-tier h3 { margin:0 0 8px; font-size:1.2em; color:#111827; }
.veo-tier .veo-tier-desc { color:#6b7280; font-size:.88em; min-height:2.6em; margin:0 0 16px; line-height:1.4; }
.veo-tier .veo-tier-price { font-size:2.1em; font-weight:800; color:var(--veo-accent); margin:0 0 16px; line-height:1; }
.veo-tier .veo-tier-price .veo-currency { font-size:.45em; font-weight:600; color:#9ca3af; margin-left:2px; }
.veo-secure-notice { display:inline-flex; align-items:center; gap:5px; font-size:.78em; color:#15803d; font-weight:700; background:#f0fdf4; padding:5px 12px; border-radius:20px; margin-bottom:16px; }
.veo-tier input[type="email"] { width:100%; box-sizing:border-box; margin-bottom:10px; padding:9px 10px; border:1px solid #d1d5db; border-radius:8px; font-size:.92em; }
.veo-tier .veo-status { font-size:.85em; color:#6b7280; margin-top:8px; }
.veo-stripe-btn { display:block; width:100%; box-sizing:border-box; margin:10px 0 0; padding:12px 14px; border:0; border-radius:8px; background:#635bff; color:#fff; font-size:1em; font-weight:700; cursor:pointer; line-height:1.2; }
.veo-stripe-btn:hover { background:#4f46e5; }
.veo-stripe-btn:disabled { opacity:.6; cursor:wait; }
.veo-stripe-btn small { display:block; font-weight:500; font-size:.72em; opacity:.9; margin-top:3px; }

/* 2.5.0 : formules ciblées, article seul, verrouillage par catégorie, page « Mon accès » */
.veo-tier .veo-tier-scope { display:inline-block; margin:0 0 10px; padding:3px 10px; border-radius:20px; background:#f3f4f6; color:#374151; font-size:.78em; font-weight:600; }
.veo-pa-locked-notice { text-align:center; font-weight:700; color:#c0392b; margin:18px 0 12px; }
.veo-pa-account { max-width:720px; margin:20px auto; }
.veo-pa-account-intro { font-weight:600; }
.veo-pa-account-table { width:100%; border-collapse:collapse; margin:10px 0 14px; }
.veo-pa-account-table th, .veo-pa-account-table td { border:1px solid #e5e7eb; padding:8px 10px; text-align:start; }
.veo-pa-account-table th { background:#f9fafb; }
.veo-pa-account-note { color:#555; font-size:.92em; }

/* 2.7.0 : prix libre, don, renouvelable, newsletter, paywall compteur, fichiers protégés, « Mon accès » */
.veo-tier .veo-pwyw { margin:0 0 14px; font-size:.9em; font-weight:600; color:#374151; }
.veo-tier .veo-pwyw input { width:96px; margin:0 4px; padding:6px 8px; border:1px solid #d1d5db; border-radius:8px; font-size:1em; text-align:center; }
.veo-tier .veo-tier-flag { margin:0 0 14px; font-size:.82em; font-weight:600; color:#374151; background:#f9fafb; border-radius:8px; padding:6px 10px; }
.veo-tier .veo-tier-donation { background:#fffbeb; color:#92400e; }
.veo-tier .veo-tier-renew { background:#eef2ff; color:#3730a3; }
.veo-pa-wrap .veo-newsletter-line { margin:10px 0 0; font-size:.92em; }
.veo-pa-wrap .veo-newsletter-line label { cursor:pointer; }
.veo-pa-meter-notice { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; border-radius:10px; padding:10px 14px; font-weight:600; font-size:.92em; }
.veo-pa-file { margin:14px 0; }
.veo-pa-file-btn { display:inline-block; padding:10px 16px; border-radius:8px; background:var(--veo-accent, #4f46e5); color:#fff !important; font-weight:700; text-decoration:none !important; }
.veo-pa-file-btn small { font-weight:500; opacity:.85; }
.veo-pa-file-locked { color:#6b7280; }
.veo-pa-account .veo-pa-renew-on { color:#3730a3; font-weight:600; font-size:.9em; }
.veo-pa-account .veo-pa-renew-off { color:#92400e; font-size:.9em; }
.veo-pa-account .veo-pa-stop-sub { margin-top:4px; font-size:.85em; cursor:pointer; }

/* 2.7.1 : « À partir de » en petit au-dessus du prix */
.veo-tier .veo-tier-price .veo-price-from { display:block; font-size:.36em; font-weight:600; color:#6b7280; letter-spacing:.02em; margin-bottom:4px; line-height:1.2; }

/* Page de connexion : carte centrée, champs larges, bouton à la couleur d'accent */
.veo-login-form { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:26px 26px 14px; box-shadow:0 8px 28px rgba(17,24,39,.07); box-sizing:border-box; color:#1f2937; }
.veo-login-form p { margin:0 0 14px; }
.veo-login-form .veo-login-lock { font-size:34px; line-height:1; margin-bottom:8px; }
.veo-login-form .veo-login-intro { font-size:1em; line-height:1.45; color:#374151; }
.veo-login-form input#veo-login-email, .veo-login-form input#veo-login-code { width:100%; box-sizing:border-box; padding:12px 14px; border:1px solid #d1d5db; border-radius:10px; font-size:16px; background:#fff; color:#111827; }
.veo-login-form input#veo-login-code { max-width:220px; text-align:center; letter-spacing:12px; font-size:26px; font-weight:700; padding:10px 14px; }
.veo-login-form input:focus { outline:none; border-color:var(--veo-accent, #4f46e5); box-shadow:0 0 0 3px rgba(79,70,229,.15); }
.veo-login-form #veo-login-submit { width:100%; max-width:320px; background:var(--veo-accent, #4f46e5); color:#fff; border:0; border-radius:10px; padding:13px 20px; font-size:16px; font-weight:700; cursor:pointer; }
.veo-login-form #veo-login-submit:hover { filter:brightness(1.08); }
.veo-login-form #veo-login-forgot { color:#c0392b; font-weight:600; font-size:.95em; }
