.purchase-modal .modal-content{border-radius:16px;overflow:hidden;border:none;box-shadow:0 10px 40px rgba(0,0,0,.2)}.purchase-modal .modal-header{background:linear-gradient(135deg,#fff8f0,#ffe8d6);border-bottom:1px solid rgba(192,136,47,.2);padding:1.25rem 1.5rem}.purchase-modal .modal-header .modal-header-content{width:100%;text-align:center}.purchase-modal .modal-header .step-title{margin:.75rem 0 0;font-weight:600;color:#333}.purchase-modal .modal-header .btn-close{position:absolute;right:1rem;top:1rem}.purchase-modal .modal-body{padding:1.5rem;min-height:300px}@media(max-width:576px){.purchase-modal .modal-body{padding:1rem}}.purchase-modal .modal-footer{border-top:1px solid rgba(192,136,47,.2);padding:1rem 1.5rem;justify-content:flex-end;gap:.75rem}.purchase-modal .modal-footer .btn-next{background:#c0882f;border-color:#c0882f;padding:.5rem 2rem;font-weight:500}.purchase-modal .modal-footer .btn-next:hover:not(:disabled){background:#976b25;border-color:#976b25}.purchase-modal .modal-footer .btn-next:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.purchase-modal .modal-footer .btn-secondary{color:#666;border-color:#ddd}.purchase-modal .modal-footer .btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.step-indicator{display:flex;justify-content:center;align-items:center;gap:0}.step-indicator .step-dot{width:12px;height:12px;border-radius:50%;background:#dbdbdb;transition:all .3s ease;border:2px solid rgba(0,0,0,0)}.step-indicator .step-dot.active{background:#c0882f;width:14px;height:14px;box-shadow:0 0 0 3px rgba(192,136,47,.2)}.step-indicator .step-dot.completed{background:#d4af37}.step-indicator .step-line{width:40px;height:2px;background:#dbdbdb;margin:0 4px}.step-indicator .step-line.completed{background:#d4af37}.gender-step{display:flex;flex-direction:column;align-items:center;padding-top:1rem}.gender-step .gender-subtitle{color:gray;font-size:.95rem;margin-bottom:1.5rem;text-align:center}.gender-step .gender-options{display:flex;gap:1.5rem;width:100%;max-width:420px}@media(max-width:576px){.gender-step .gender-options{gap:1rem}}.gender-step .gender-card{flex:1 1;border:2px solid #dbdbdb;border-radius:12px;padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}.gender-step .gender-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.gender-step .gender-card.boy:hover{border-color:#9ec4eb;box-shadow:0 4px 12px rgba(74,144,217,.2)}.gender-step .gender-card.boy.selected{border-color:#4a90d9;background:#f0f7ff;box-shadow:0 4px 16px rgba(74,144,217,.25)}.gender-step .gender-card.girl:hover{border-color:#f492c7;box-shadow:0 4px 12px rgba(233,30,140,.15)}.gender-step .gender-card.girl.selected{border-color:#e91e8c;background:#fff0f7;box-shadow:0 4px 16px rgba(233,30,140,.2)}.gender-step .gender-card .gender-icon{margin-bottom:.75rem;display:flex;justify-content:center}.gender-step .gender-card .gender-icon svg{width:72px;height:72px}.gender-step .gender-card .gender-label{font-size:1.1rem;font-weight:600;color:#2d2d2d}@media(max-width:576px){.gender-step .gender-card{padding:1.5rem 1rem}.gender-step .gender-card .gender-icon svg{width:56px;height:56px}.gender-step .gender-card .gender-label{font-size:1rem}}.image-selection-step .selection-counter{text-align:center;margin-bottom:1rem;font-size:1rem;color:#666}.image-selection-step .selection-counter .count{font-weight:700;color:#c0882f}.image-selection-step .selection-counter.complete .count{color:#28a745}.image-selection-step .image-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media(max-width:768px){.image-selection-step .image-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:576px){.image-selection-step .image-grid{grid-template-columns:repeat(3,1fr);gap:8px}}.image-grid-item{position:relative;aspect-ratio:1;border:3px solid rgba(0,0,0,0);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease;background:#fff}.image-grid-item:hover:not(.disabled){border-color:#ccc;transform:scale(1.02)}.image-grid-item.selected{border-color:#c0882f}.image-grid-item.selected .selection-overlay{opacity:1}.image-grid-item.selected .selection-number{display:flex}.image-grid-item.disabled{opacity:.5;cursor:not-allowed}.image-grid-item.disabled:hover{transform:none}.image-grid-item .selection-overlay{position:absolute;inset:0;background:rgba(192,136,47,.3);opacity:0;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center}.image-grid-item .selection-number{display:none;position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#c0882f;color:#fff;font-weight:700;font-size:.875rem;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}.image-grid-item .image-name{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.75rem;text-align:center;font-weight:500}.image-grid-item img{width:118%;height:118%;object-fit:contain;margin-left:-25px;margin-top:-20px}.baby-name-step{max-width:400px;margin:0 auto}.baby-name-step .selections-summary{background:#fff8f0;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.baby-name-step .selections-summary h6{font-weight:600;color:#333;margin-bottom:.75rem}.baby-name-step .selections-summary .summary-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;color:#555}.baby-name-step .selections-summary .summary-item .label{font-weight:500}.baby-name-step .selections-summary .summary-item .value{color:#c0882f;font-weight:600}.baby-name-step .selections-summary .summary-total{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:.75rem;border-top:1px dashed rgba(192,136,47,.3);font-size:1rem}.baby-name-step .selections-summary .summary-total .label{font-weight:600;color:#333}.baby-name-step .selections-summary .summary-total .total-value{font-size:1.25rem;font-weight:700;color:#c0882f}.baby-name-step .form-group{margin-bottom:1rem}.baby-name-step .form-group .form-label{font-weight:500;color:#333;margin-bottom:.5rem}.baby-name-step .form-group .form-control{border-radius:8px;padding:.75rem 1rem;font-size:1rem;border:2px solid #ddd}.baby-name-step .form-group .form-control:focus{border-color:#c0882f;box-shadow:0 0 0 3px rgba(192,136,47,.15)}.baby-name-step .form-group .char-count{text-align:right;font-size:.8rem;color:#999;margin-top:.25rem}.baby-name-step .form-group .form-text{color:#666;font-size:.8rem;white-space:nowrap}@media(max-width:576px){.baby-name-step .form-group .form-text{white-space:normal}}