/* copied from public/assets/css/modal.css */
.modal { display: none; position: fixed; z-index:1000; left:0; top:0; width:100%; height:100%; background-color: rgba(0,0,0,0.45); backdrop-filter: blur(6px) saturate(120%); -webkit-backdrop-filter: blur(6px) saturate(120%); direction: rtl; }
.modal.show { display:flex; align-items:center; justify-content:center; }
.modal-content { position: relative; background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02)); backdrop-filter: blur(8px) saturate(120%); margin:0 auto; padding:20px; border-radius:16px; width:92%; max-width:720px; box-shadow: 0 10px 30px rgba(2,6,23,0.6); border:1px solid rgba(255,255,255,0.05); color:#e6eef8; z-index:1100; }
.modal-content h3 { margin-top:0; font-size:1.375rem; font-weight:800; color:#ffffff; text-shadow:0 1px 0 rgba(0,0,0,0.4); }
.modal-content p { margin:10px 0; color: rgba(230,238,248,0.9); line-height:1.6; }
.modal-content .price { font-size:1.25rem; font-weight:700; color:rgb(var(--primary-rgb) / 0.95); margin:15px 0; }
.modal-content .order-button, .modal-content #submit-order { display:inline-flex; align-items:center; justify-content:center; min-width:120px; padding:10px 16px; background: linear-gradient(180deg, rgb(var(--primary-rgb) / 0.95), rgb(var(--primary-rgb) / 0.8)); color:var(--text-main); border:none; border-radius:10px; font-size:1rem; cursor:pointer; transition: background-color 0.18s, transform 0.08s, box-shadow 0.12s; box-shadow: 0 6px 18px rgb(var(--primary-rgb) / 0.12); }
.modal-content .order-button:hover, .modal-content #submit-order:hover { background: linear-gradient(180deg, rgb(var(--primary-rgb) / 0.9), rgb(var(--primary-rgb) / 0.75)); transform: translateY(-2px); box-shadow: 0 14px 30px rgb(var(--primary-rgb) / 0.12); }
.loading { text-align:center; padding:20px; color:#666; }
.error-message { text-align:center; padding:20px; color:#dc2626; }
.modal-header { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,255,255,0.04); padding-bottom:10px; margin-bottom:15px; }
.close-button { background:transparent; border:none; font-size:22px; color: rgba(230,238,248,0.7); cursor:pointer; padding:6px; }
.close-button:hover { color:#ff6b6b; }
.description { white-space: pre-wrap; margin:15px 0; line-height:1.6; color: rgba(230,238,248,0.9); }
.modal-footer { margin-top:20px; padding-top:15px; border-top:1px solid rgba(255,255,255,0.04); display:flex; gap:12px; justify-content:flex-end; }
#order-button, .order-button { display:inline-flex; align-items:center; justify-content:center; background-color: rgb(var(--primary-rgb) / 0.95); color:var(--text-main); border:none; border-radius:8px; padding:10px 16px; font-size:16px; cursor:pointer; transition: background-color 0.2s, transform 0.08s; width:auto; min-width:120px; box-shadow: 0 6px 18px rgb(var(--primary-rgb) / 0.12); }
.order-button:hover { background-color: rgb(var(--primary-rgb) / 0.85); transform: translateY(-1px); }
.modal .dropdown, .modal .select-list { z-index:1200; }
#service-picker-launcher { display:inline-flex; align-items:center; justify-content:center; gap:6px; background: linear-gradient(180deg, rgb(var(--primary-rgb) / 0.98), rgb(var(--primary-rgb) / 0.8)); border-radius:9999px; width:56px; height:56px; box-shadow: 0 8px 20px rgb(var(--primary-rgb) / 0.10); border:1px solid rgba(255,255,255,0.06); }
#service-picker-launcher .material-symbols-outlined { font-size:22px; }