.step-section{opacity:0;pointer-events:none;position:absolute;transform:translateX(40px);transition:all .35s ease;width:100%}.step-section.active{opacity:1;pointer-events:auto;position:relative;transform:translateX(0)}.step-section.exit-left{opacity:0;transform:translateX(-40px)}.step-section.exit-right{opacity:0;transform:translateX(40px)}.gift-page-content{overflow:hidden;position:relative}.gift-formulas{display:block;display:flex;flex-wrap:wrap;gap:20px;justify-content:center}.carte-cadeau-order .preview-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:15px;padding:20px;text-align:left}.gift-page-block{background:#fff;border:1px solid #ddd;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.08);font-family:sans-serif;margin:40px auto;max-width:900px;overflow:hidden;position:relative}.gift-page-content{padding:40px}.gift-intro{color:#555;font-size:1.1rem;margin:0 auto 40px;max-width:700px;text-align:center}.gift-page-footer,.gift-page-header{margin-bottom:40px;text-align:center}.gift-header-full{background:var(--primary);color:#fff;padding:22px 30px;text-align:center}.gift-header-full h2{font-size:1.9rem;font-weight:600;letter-spacing:.5px;margin:0}.gift-page-header h1{font-size:2rem;margin-bottom:16px}.gift-page-header p{font-size:1.1rem}.gift-page-footer p{color:#666;font-size:.95rem}.gift-formulas h2,.gift-payment h2,.gift-setup h2{font-size:1.6rem;margin-bottom:20px;text-align:center}.forfaits{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:40px}.forfait-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box;flex:1 1 250px;max-width:300px;padding:20px;text-align:left}.forfait-card h4{text-align:center}@media (max-width:768px){.gift-page-content{height:auto!important;overflow:visible}.gift-formulas{align-items:center;flex-direction:column}.forfait-card{max-width:none}}.preview-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:15px;padding:15px;text-align:left}button{cursor:pointer}.forfait-card .price,.forfait-card h3{text-align:center!important}.gift-page-header{margin-bottom:40px;text-align:center}.gift-header-banner{background:var(--primary);border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.12);color:#fff;margin-bottom:20px;padding:18px 20px}.gift-header-banner h1{font-size:1.8rem;font-weight:600;letter-spacing:.5px;margin:0}.gift-page-header p{color:#555;font-size:1.05rem;margin:0 auto;max-width:700px}.gift-steps{align-items:center;background:#f9fafb;display:flex;justify-content:center;padding:25px 40px}.step{color:#9ca3af;flex-direction:column;font-size:.9rem;font-weight:500}.step,.step-number{align-items:center;display:flex;transition:all .3s ease}.step-number{background:#fff;border:2px solid #d1d5db;border-radius:50%;font-weight:600;height:36px;justify-content:center;margin-bottom:6px;width:36px}.step-line{background:#e5e7eb;flex:1;height:2px;margin:0 15px;transition:background .3s ease}.step.active{color:var(--primary)}.step.active .step-number{background:var(--primary);border-color:var(--primary);color:#fff}.step.completed{color:var(--primary)}.step.completed .step-number{background:#fff;border-color:var(--primary);color:var(--primary)}.step.completed+.step-line{background:var(--primary)}.forfait-card.coming-soon{opacity:.75;position:relative}.select-formula.disabled,.select-formula:disabled{background:#e5e7eb;border:none;color:#9ca3af;cursor:not-allowed}.select-formula.disabled:hover{box-shadow:none;transform:none}.gift-config-grid{display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-top:30px}.form-left{gap:20px}.form-group,.form-left{display:flex;flex-direction:column}.form-group label{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:6px}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;padding:12px 14px;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,102,255,.15);outline:none}.form-group small{color:#6b7280;font-size:.85rem;margin-top:4px}.btn-primary{background:var(--primary);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;margin-top:10px;padding:14px;transition:all .25s ease}.btn-primary:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.form-right{align-items:flex-start;display:flex;justify-content:center;width:100%}.preview-card-wrapper{display:flex;justify-content:center;overflow:hidden;width:100%}#gift-preview-frame{background:#fff;border:none;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.08);width:100%}.preview-header{font-size:1.1rem;font-weight:600;opacity:.9}.preview-body{margin-top:20px}.preview-formula,.preview-from,.preview-to{font-size:.95rem;margin:10px 0}.preview-message-box{background:hsla(0,0%,100%,.15);border-radius:8px;font-style:italic;margin:15px 0;min-height:60px;padding:12px}#message-counter{color:#555;display:block;font-size:.85rem;margin-top:4px;text-align:right}@media (max-width:768px){.gift-config-grid{grid-template-columns:1fr}}@media (max-width:1024px){.form-right{max-width:100%}}.carte-cadeau-order h4{color:#111827;font-size:1.2rem;margin-bottom:20px;text-align:center}.order-summary{background:#f9fafb;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:12px;margin-bottom:20px;overflow:hidden;width:100%}.order-summary td,.order-summary th{font-size:.95rem;padding:12px 15px}.order-summary th{background:#e5e7eb;font-weight:600;text-align:left}.order-summary .text-right{text-align:right}.order-personalization{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;font-size:.95rem;padding:15px}.order-personalization p{margin:8px 0}.personal-message{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-style:italic;min-height:60px;padding:10px;white-space:pre-wrap}#pay-now,.gift-payment>p:not(.carte-cadeau-order){display:none}#pay-now-container{align-items:center;display:flex;flex-direction:column;justify-content:center}.confirmation-checkbox,.confirmation-checkbox a{color:#333;font-size:.95rem;text-align:center;text-decoration:none}.confirmation-checkbox a:hover{color:#333;text-decoration:none}.confirmation-checkbox input[type=checkbox]{height:16px;margin-right:8px;vertical-align:middle;width:16px}.gift-payment{display:none}.step-section.active.gift-payment{display:block}#card-element{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:16px;max-width:400px;padding:12px 14px;width:100%}#card-errors{font-size:.95rem;margin-bottom:12px}#stripe-container{display:none;flex-direction:column;margin-top:20px}#pay-now{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:all .2s ease}#pay-now:hover{background:#2563eb}#payment-message{border-radius:8px;font-weight:500;margin-bottom:15px;padding:12px}.error-modal{align-items:center;background:rgba(0,0,0,.55);display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:9999}.error-modal.active{opacity:1;pointer-events:auto}.error-modal-content{animation:modalPop .25s ease;background:#fff;border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.25);max-width:420px;padding:30px;text-align:center;width:90%}.error-modal-content h3{color:#b91c1c;margin-top:0}#error-modal-message{color:#374151;margin:15px 0 25px}@keyframes modalPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spinner{animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}@keyframes spin{to{transform:rotate(1turn)}}#pay-now:disabled{cursor:not-allowed;opacity:.7}.gift-noscript-overlay{align-items:center;background:hsla(0,0%,100%,.96);display:flex;inset:0;justify-content:center;padding:30px;position:absolute;text-align:center;z-index:50}.gift-noscript-content{max-width:420px}.gift-noscript-content h3{color:#b91c1c;margin-bottom:15px}.gift-noscript-content p{color:#374151;font-size:.95rem;margin-bottom:20px}.gift-refresh-btn{padding:12px 20px;text-decoration:none}