/*
 * pwslm-redesign.css — Refonte UX/UI du wizard d'inscription (Pixely 2026)
 *
 * Surcouche de style, chargée APRÈS pwslm-public.css / style.css, pour
 * simplifier et clarifier le formulaire d'adhésion (étapes du wizard).
 * Tous les sélecteurs sont préfixés .pwslm-app : aucun effet hors du plugin.
 *
 * Note: fichier maintenu à la main (déjà scopé), il ne passe pas par
 * build/css-scoping. Éditer directement ici.
 */

/* ----- Panneau clair de l'app (sur le thème sombre de l'hôte) ----- */
.pwslm-app{ background:#eef2f8 !important; border-radius:18px; padding:22px 26px 30px; }
.pwslm-app .landing-page.ibox-content{ background:transparent !important; border:none !important; box-shadow:none !important; padding:6px 0 0 !important; }
.pwslm-app > .ibox-content.m-b-sm{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 0 6px !important; }
.pwslm-app h2{ font-size:23px; font-weight:800; color:#16233f; margin:2px 0 18px; }
.pwslm-app .pwslm-step-content, .pwslm-app .pwslm-step-content *{ box-sizing:border-box; }

/* ----- Stepper ----- */
.pwslm-app .pwslm-steps.pwslm-steps-pills{ display:flex !important; gap:6px; background:#fff; border:1px solid #e7ecf5; border-radius:14px; padding:14px 18px; margin:0 0 20px; box-shadow:0 2px 12px rgba(20,40,80,.05); list-style:none; }
.pwslm-app .pwslm-steps-pills > li{ float:none !important; flex:1; margin:0 !important; text-align:center; }
.pwslm-app .pwslm-steps-pills > li > span, .pwslm-app .pwslm-steps-pills > li > a > span{ background:transparent !important; color:#92a0bb !important; font-weight:600; font-size:13.5px; padding:6px 4px !important; display:block; }
.pwslm-app .pwslm-steps-pills > li.active > span, .pwslm-app .pwslm-steps-pills > li.active > a > span{ color:#1a73e8 !important; font-weight:700; }

/* ----- Carte du formulaire ----- */
.pwslm-app .pwslm-step-content{ background:#fff; border:1px solid #e7ecf5; border-radius:16px; box-shadow:0 4px 20px rgba(20,40,80,.06); padding:28px 32px 32px; }
.pwslm-app .pwslm-step-content > h3{ font-size:19px; font-weight:700; color:#1a2b4a; margin:0 0 22px; padding-bottom:15px; border-bottom:1px solid #eef1f7; }

/* ----- Champs : labels au-dessus, pas de débordement (gouttière Bootstrap neutralisée) ----- */
.pwslm-app .pwslm-form .form-group{ margin:0 0 24px !important; }
.pwslm-app .pwslm-form .form-group > [class*="col-"]{ padding-left:0 !important; padding-right:0 !important; width:100% !important; float:none !important; }
.pwslm-app .pwslm-form .control-label, .pwslm-app .pwslm-form label.col-sm-3{ text-align:left !important; padding:0 0 10px !important; color:#34456a; font-weight:700; font-size:15px; }
.pwslm-app .pwslm-form .form-control{ width:100%; max-width:100%; height:46px; border:1.5px solid #d8e0ee; border-radius:10px; box-shadow:none !important; font-size:15px; padding:10px 14px; }
.pwslm-app .pwslm-form select.form-control{ height:46px; }
.pwslm-app .pwslm-form textarea.form-control{ height:auto; min-height:92px; }
.pwslm-app .pwslm-form .form-control:focus{ border-color:#1a73e8 !important; box-shadow:0 0 0 3px rgba(26,115,232,.12) !important; }

/* ----- Formule (radio) en cartes cliquables ----- */
.pwslm-app .licence-selection{ display:block !important; float:none !important; width:100% !important; margin:0 0 12px !important; padding:15px 18px !important; border:1.5px solid #e2e8f4; border-radius:12px; background:#fff; cursor:pointer; transition:all .15s; overflow:hidden; }
.pwslm-app .licence-selection:hover{ border-color:#9cc0f5; background:#f7fbff; }
.pwslm-app .licence-selection:has(input:checked){ border-color:#1a73e8; background:#f0f6ff; box-shadow:0 0 0 3px rgba(26,115,232,.1); }
.pwslm-app .licence-selection label{ font-weight:700 !important; color:#26344f; cursor:pointer; display:block; margin:0 0 0 29px; }
.pwslm-app .licence-selection input[type=radio]{ float:left; margin:3px 0 0 !important; width:18px; height:18px; accent-color:#1a73e8; }
.pwslm-app .licence-selection .pwslm_price{ color:#1a73e8; font-weight:700; white-space:nowrap; }
.pwslm-app .licence-selection .label.label-info, .pwslm-app .licence-selection .description{ display:block !important; background:transparent !important; color:#708098 !important; font-weight:400 !important; font-size:12.5px !important; padding:6px 10px 0 29px !important; line-height:1.5; text-align:left; white-space:normal; word-break:break-word; border-radius:0; }

/* ----- Cours (cases à cocher) en cartes ----- */
.pwslm-app .pwslm-form .radio{ display:block; margin:0 0 10px; padding:13px 16px; border:1.5px solid #e2e8f4; border-radius:12px; background:#fff; }
.pwslm-app .pwslm-form .radio:has(input:checked){ border-color:#1a73e8; background:#f0f6ff; }
.pwslm-app .pwslm-form .radio label{ font-weight:500; color:#26344f; display:block; margin:0 0 0 29px; cursor:pointer; }
.pwslm-app .pwslm-form .radio input{ float:left; margin:3px 0 0 !important; width:18px; height:18px; accent-color:#1a73e8; }

/* ----- Note importante (cours) : pleine largeur (lève le max-width:200px de member.css) ----- */
.pwslm-app .pwslm-form-important-note, .pwslm-app .pwslm-form .radio .alert, .pwslm-app .pwslm-form .radio .alert-warning{ max-width:none !important; display:block !important; clear:both; width:auto !important; float:none !important; margin:10px 0 2px 29px !important; }
.pwslm-app .pwslm-form .alert-warning{ background:#fff8ec !important; border:none !important; border-left:3px solid #f0a020 !important; color:#8a6d2f !important; border-radius:8px; padding:10px 14px; font-size:13px; }

/* ----- Descriptions / total ----- */
.pwslm-app .pwslm-form .description{ color:#8a97ad; font-size:12.5px; margin-top:6px; display:block; }
.pwslm-app .pwslm-total-amount{ font-size:16px !important; padding:8px 14px !important; }

/* ----- Bouton primaire visible ----- */
.pwslm-app .pwslm-step-content button[type=submit], .pwslm-app .pwslm-step-content .btn-ladda{ background:#1a73e8 !important; border-color:#1a73e8 !important; color:#fff !important; font-size:15px !important; font-weight:700 !important; padding:13px 30px !important; border-radius:10px !important; float:none !important; box-shadow:0 4px 14px rgba(26,115,232,.3); }

/* ----- Panneau d'aide : clair et lisible (le rouge d'avertissement inline est conservé) ----- */
.pwslm-app .pwslm-help-panel.panel{ background:#f3f8ff !important; border:1px solid #dde9fb !important; border-radius:14px; box-shadow:none !important; overflow:hidden; }
.pwslm-app .pwslm-help-panel .panel-heading{ background:transparent !important; border:none !important; color:#1a73e8 !important; font-weight:700; font-size:14px; padding:16px 18px 4px !important; }
.pwslm-app .pwslm-help-panel .panel-body{ background:transparent !important; color:#46556f !important; padding:4px 18px 14px !important; font-size:13.5px; line-height:1.6; }
.pwslm-app .pwslm-help-panel .panel-body p, .pwslm-app .pwslm-help-panel .panel-body li{ color:#46556f !important; }

/* ----- Lisibilité (toutes les étapes) ----- */
/* Le thème hôte impose un texte clair (body{color:#e7eaec !important}) ; sur le fond
   clair du plugin, le texte de bloc générique non stylé deviendrait illisible. On
   rétablit un texte foncé sur ces conteneurs de texte uniquement (p/li/td/dd). Les
   éléments à couleur propre (prix bleus, badges, alertes, rouge d'avertissement, labels)
   ne sont pas ciblés et conservent leur couleur. */
.pwslm-app .pwslm-step-content > p, .pwslm-app .pwslm-step-content li, .pwslm-app .pwslm-step-content td, .pwslm-app .pwslm-step-content dd{ color:#3a4a63 !important; }
