.price-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); }
.modal-content { position: relative; z-index: 1; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 40px; max-width: 600px; max-height: 90vh; overflow-y: auto; animation: slideUp 0.3s cubic-bezier(0.2, 0.6, 0.2, 1); }
.modal-close { position: absolute; top: 20px; right: 20px; background: transparent; border: none; font-size: 24px; color: var(--ink-3); cursor: pointer; transition: color 0.2s ease; }
.modal-close:hover { color: var(--ink); }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (max-width: 640px) { .modal-content { padding: 28px; } }
