@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap";body{margin:0}*{box-sizing:border-box}body{color:#0f172a;background:linear-gradient(-45deg,#1e3a8a,#2563eb,#10b981,#059669) 0 0/400% 400%;min-height:100vh;margin:0;font-family:Inter,sans-serif;animation:16s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.app-container{max-width:720px;margin:0 auto;padding:32px 16px 60px;position:relative}.app-header{text-align:center;color:#fff;margin-bottom:32px;animation:.8s both fadeInDown}.app-header h1{text-shadow:0 4px 20px #0003;background:linear-gradient(90deg,#fff,#d1fae5,#fff) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-family:Poppins,sans-serif;font-size:2.6rem;font-weight:800;animation:4s linear infinite shine}@keyframes shine{to{background-position:200%}}.app-header p{opacity:.95;margin-top:8px;font-size:1.1rem;font-weight:500}.app-signature{opacity:.8;margin-top:2px;font-size:.9rem;font-style:italic}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.questionnaire-step,.resultats,.card{-webkit-backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #ffffff80;border-radius:24px;padding:28px;box-shadow:0 20px 50px #1e3a8a40}.progress-wrapper{margin-bottom:24px}.progress-bar-bg{background:#dbeafe;border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#1e3a8a,#10b981,#2563eb) 0 0/200%;border-radius:999px;height:100%;transition:width .4s;animation:2.5s linear infinite shimmerBar}@keyframes shimmerBar{to{background-position:200%}}.progress-label{text-align:right;color:#047857;margin-top:6px;font-size:.85rem;font-weight:600;display:block}.question-bloc-anim{animation:.4s both fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.question-bloc h3{color:#1e3a8a;text-align:center;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700}.sous-titre{color:#047857;opacity:.8;text-align:center;margin-top:0;margin-bottom:22px;font-size:.95rem}.options-grid{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.option-btn{color:#1e40af;cursor:pointer;background:linear-gradient(#fff,#f0fdf9);border:2px solid #dbeafe;border-radius:14px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;box-shadow:0 2px 6px #1e3a8a1a}.option-btn:after{content:"";background:linear-gradient(120deg,#0000,#ffffffb3,#0000);width:50%;height:100%;transition:left .6s;position:absolute;top:0;left:-75%;transform:skew(-20deg)}.option-btn:hover{border-color:#6ee7b7;transform:translateY(-3px)scale(1.03);box-shadow:0 8px 20px #10b98140}.option-btn:hover:after{left:130%}.option-btn.selected{color:#fff;background:linear-gradient(135deg,#1e3a8a,#2563eb,#10b981);border-color:#0000;transform:translateY(-2px)scale(1.05);box-shadow:0 6px 20px #10b98180}.notes-grid{flex-direction:column;gap:10px;display:flex}.note-ligne{background:#fff;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 16px;display:flex;box-shadow:0 2px 8px #0000000d}.note-ligne label{color:#1e3a8a;align-items:center;gap:10px;font-weight:500;display:flex}.note-ligne input[type=checkbox]{accent-color:#10b981;width:18px;height:18px}.note-ligne input[type=number]{color:#1e40af;text-align:center;border:2px solid #dbeafe;border-radius:8px;width:60px;padding:6px 10px;font-weight:600}.nav-buttons-step{justify-content:space-between;gap:12px;margin-top:32px;display:flex}.nav-buttons-step .btn-secondary,.nav-buttons-step .btn-primary{text-align:center;flex:1}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:16px;padding:15px 28px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:700;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.btn-primary{color:#fff;background:linear-gradient(135deg,#1e3a8a,#2563eb,#10b981) 0 0/200%;box-shadow:0 10px 30px #10b98166}.btn-primary:hover:not(:disabled){background-position:100%;transform:translateY(-3px);box-shadow:0 14px 36px #10b9818c}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary{color:#1e3a8a;background:#fff;border:2px solid #dbeafe}.btn-secondary:hover:not(:disabled){background:#f0fdf9;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.resultats h2{color:#1e3a8a;text-align:center;margin-bottom:4px;font-family:Poppins,sans-serif;font-size:1.9rem;font-weight:800}.resultats>.sous-titre{text-align:center}.resultats-liste{flex-direction:column;gap:16px;margin-top:24px;display:flex}.resultat-item{background:#fff;border-left:5px solid #10b981;border-radius:18px;padding:20px 22px;transition:transform .25s,box-shadow .25s;animation:.5s both fadeInUp;box-shadow:0 8px 24px #1e3a8a1a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.resultat-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px #1e3a8a2e}.resultat-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.resultat-header h3{color:#0f172a;margin:0;font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:700}.score-badge{color:#fff;background:linear-gradient(135deg,#1e3a8a,#10b981);border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:.9rem;font-weight:800;box-shadow:0 4px 12px #10b98166}.score-bar{background:#dbeafe;border-radius:999px;width:100%;height:10px;margin:10px 0;overflow:hidden}.score-fill{background:linear-gradient(90deg,#2563eb,#10b981,#059669) 0 0/200%;border-radius:999px;height:100%;animation:1.2s ease-out both fillBar,2.5s linear infinite shimmerBar}@keyframes fillBar{0%{width:0%!important}}.sous-domaine-badge{color:#047857;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:999px;margin:6px 0 10px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-block}.debouches-title{color:#047857;margin-top:12px;margin-bottom:6px;font-size:.9rem;font-weight:600}.resultat-item ul{color:#1e40af;margin:0;padding-left:20px;font-size:.92rem}.resultat-item ul li{margin-bottom:4px}.error-message{color:#b91c1c;text-align:center;background:#fef2f2;border:2px solid #fecaca;border-radius:14px;padding:16px 20px;font-weight:600}.app-footer{text-align:center;color:#ffffffd9;margin-top:40px;font-size:.85rem;font-weight:500}.app-footer-liens{opacity:.75;margin-top:8px;font-size:.75rem}.app-footer-liens a{color:#ffffffd9;text-decoration:underline}.app-footer-liens a:hover{color:#fff}.selection-pays{text-align:center;position:relative;overflow:hidden}.selection-pays:before{content:"";pointer-events:none;background:radial-gradient(circle,#10b98114 0%,#0000 60%);width:200%;height:200%;animation:4s ease-in-out infinite pulseGlow;position:absolute;top:-50%;left:-50%}@keyframes pulseGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.selection-pays-badge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;margin-bottom:14px;padding:6px 16px;font-size:.8rem;font-weight:700;animation:.6s both bounceIn;display:inline-block;box-shadow:0 4px 14px #10b98166}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.selection-pays h2{color:#1e3a8a;margin:0 0 14px;font-family:Poppins,sans-serif;font-size:1.9rem;font-weight:800}.accroche-choc{color:#047857;max-width:500px;margin:0 auto 18px;font-size:1.05rem;line-height:1.6}.accroche-choc strong{color:#dc2626}.selection-pays .sous-titre{max-width:480px;margin:0 auto 20px}.reassurance-line{color:#6b7280;margin-top:24px;font-size:.85rem;font-weight:500}.pays-grid{z-index:1;flex-wrap:wrap;justify-content:center;gap:12px;display:flex;position:relative}.pays-btn{cursor:pointer;background:linear-gradient(#fff,#f0fdf9);border:2px solid #dbeafe;border-radius:999px;align-items:center;gap:10px;padding:10px 18px 10px 10px;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;box-shadow:0 4px 12px #1e3a8a1a}.pays-pastille{color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.7rem;font-weight:800;display:flex;box-shadow:inset 0 1px 2px #fff6,0 2px 6px #00000026}.pays-nom{color:#1e3a8a;white-space:nowrap;font-size:.95rem;font-weight:700}.pays-btn:hover{border-color:#6ee7b7;transform:translateY(-5px)rotate(-1deg)scale(1.05);box-shadow:0 14px 28px #10b9814d}.pays-btn:hover .pays-nom{color:#047857}.pays-btn:active{transform:translateY(-2px)scale(.98)}.etablissements-resultats h2{color:#1e3a8a;text-align:center;margin-bottom:20px;font-family:Poppins,sans-serif;font-size:1.9rem;font-weight:800}.precision-top3{text-align:center;color:#6b7280;margin:-12px 0 24px;font-size:.9rem}.precision-top3 strong{color:#047857}.systeme-admission-box{background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:2px solid #dbeafe;border-radius:16px;margin-bottom:24px;padding:16px 20px}.systeme-admission-box h4{color:#1e3a8a;margin:0 0 6px;font-family:Poppins,sans-serif}.systeme-admission-box p{color:#374151;margin:0;font-size:.92rem}.domaine-etablissements{margin-bottom:28px}.domaine-etablissements h3{color:#047857;margin-bottom:12px;font-family:Poppins,sans-serif;font-size:1.15rem}.etablissements-liste{flex-direction:column;gap:12px;display:flex}.etablissement-carte{background:#fff;border-left:4px solid #10b981;border-radius:16px;padding:16px 20px;text-decoration:none;transition:all .25s;display:block;box-shadow:0 4px 14px #1e3a8a1a}.etablissement-carte:hover{transform:translateY(-3px);box-shadow:0 10px 24px #10b98140}.etablissement-carte h4{color:#1e3a8a;margin:0 0 4px;font-family:Poppins,sans-serif}.etablissement-ville{color:#6b7280;margin:0 0 6px;font-size:.85rem;font-weight:600}.etablissement-description{color:#374151;margin:0;font-size:.9rem}.conseils-box{background:#fffbeb;border:2px solid #fde68a;border-radius:16px;margin:24px 0;padding:16px 20px}.conseils-box h4{color:#92400e;margin:0 0 10px}.conseils-box p{color:#78350f;margin:0 0 8px;font-size:.9rem}.chargement-etablissements{text-align:center;padding:48px 28px}.spinner{border:5px solid #dbeafe;border-top-color:#10b981;border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chargement-etablissements h3{color:#1e3a8a;margin-bottom:8px;font-family:Poppins,sans-serif}.confirmation-paiement{text-align:center}.confirmation-badge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;margin-bottom:14px;padding:6px 16px;font-size:.8rem;font-weight:700;display:inline-block;box-shadow:0 4px 14px #10b98166}.confirmation-paiement h2{color:#1e3a8a;margin:0 0 8px;font-family:Poppins,sans-serif;font-size:1.6rem;font-weight:800}.liste-inclus{text-align:left;max-width:440px;margin:24px auto;padding:0;list-style:none}.liste-inclus li{color:#1e3a8a;background:#fff;border-radius:12px;margin-bottom:10px;padding:12px 16px;font-size:.92rem;box-shadow:0 3px 10px #1e3a8a14}.liste-inclus li strong{color:#047857}.prix-box{background:linear-gradient(135deg,#eff6ff,#ecfdf5);border:2px solid #dbeafe;border-radius:16px;flex-direction:column;align-items:center;max-width:320px;margin:20px auto;padding:18px;display:flex}.prix-montant{color:#1e3a8a;font-family:Poppins,sans-serif;font-size:2.2rem;font-weight:800}.prix-detail{color:#6b7280;margin-top:4px;font-size:.82rem}.consentement-conditions{color:#6b7280;text-align:left;align-items:flex-start;gap:8px;max-width:320px;margin:18px auto;font-size:.8rem;display:flex}.consentement-conditions input[type=checkbox]{accent-color:#10b981;flex-shrink:0;margin-top:3px}.consentement-conditions a{color:#1e3a8a;font-weight:600;text-decoration:underline}.btn-paiement{width:100%;max-width:320px;padding:16px;font-size:1.05rem}.reassurance-paiement{color:#6b7280;flex-direction:column;align-items:center;gap:6px;margin-top:18px;font-size:.8rem;display:flex}.btn-retour-texte{color:#6b7280;cursor:pointer;background:0 0;border:none;margin-top:20px;font-size:.85rem;text-decoration:underline}.btn-retour-texte:hover{color:#1e3a8a}.erreur-apres-paiement{text-align:center}.rassurance-badge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:999px;margin-bottom:14px;padding:6px 16px;font-size:.8rem;font-weight:700;display:inline-block}.erreur-apres-paiement h2{color:#1e3a8a;margin:0 0 10px;font-family:Poppins,sans-serif;font-size:1.4rem}.erreur-apres-paiement strong{color:#047857}.selecteur-langue{z-index:10;position:absolute;top:20px;right:20px}.selecteur-langue select{color:#1e3a8a;cursor:pointer;background:#ffffffe6;border:2px solid #ffffff80;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;box-shadow:0 4px 12px #1e3a8a26}@media (width<=640px){.app-container{padding:20px 12px 40px}.app-header h1{font-size:1.9rem}.app-header p{font-size:.95rem}.questionnaire-step,.resultats,.card{border-radius:18px;padding:18px}.question-bloc h3{font-size:1.2rem}.option-btn{flex:auto;padding:10px 14px;font-size:.85rem}.options-grid{gap:8px}.nav-buttons-step{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%;padding:14px 20px}.resultat-header{flex-wrap:wrap}.pays-grid{gap:8px}.pays-btn{padding:8px 14px 8px 8px}.pays-pastille{width:30px;height:30px;font-size:.6rem}.pays-nom{font-size:.85rem}.selecteur-langue{justify-content:center;margin-bottom:16px;display:flex;position:static}}
