/* style.css */ /* Reset & Font */ * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Inter', sans-serif; } /* Page background */ body { background: #f0f1f5; min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 2rem; } /* Logo */ .logo { position: fixed; top: 20px; left: 20px; width: 140px; height: auto; z-index: 1000; } /* Card container */ .container { background: #ffffff; padding: 2.5rem; border-radius: 16px; box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06); width: 100%; max-width: 420px; text-align: center; } /* Title heading */ h2 { font-size: 2rem; font-weight: 600; color: #1a1a1a; margin-bottom: 2rem; line-height: 1.3; } /* Input fields & dropdown */ form input, form select { display: block; width: 100%; padding: 0.75rem 1rem; font-size: 1rem; font-weight: 400; margin-bottom: 1rem; border: 1px solid #d0d4d9; border-radius: 10px; background: #ffffff; color: #1a1a1a; transition: border 0.2s ease; } form input::placeholder { color: #a0aec0; font-weight: 400; } form input:focus, form select:focus { border-color: #000000; box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.2); outline: none; } /* Buttons */ form button, #bookBtn { width: 100%; padding: 0.75rem 1rem; background: #000000; color: #ffffff; font-weight: 600; font-size: 1rem; border: none; border-radius: 10px; cursor: pointer; transition: background 0.3s ease; } form button:hover, #bookBtn:hover { background: #1a1a1a; } /* Spinner */ #spinner { margin: 1rem auto; width: 32px; height: 32px; border: 4px solid #ccc; border-top: 4px solid #000000; border-radius: 50%; animation: spin 1s linear infinite; display: none; } @keyframes spin { to { transform: rotate(360deg); } } /* Status message */ #status { display: none; margin-top: 1rem; padding: 0.75rem 1rem; text-align: center; font-size: 0.95rem; border-radius: 8px; } .status-info { background: #e6f0ff; color: #1e4b91; } .status-success { background: #e6ffed; color: #2e7d32; } .status-error { background: #ffe6e6; color: #c62828; } /* Confirmation */ #confirmation { display: none; margin-top: 2rem; background: #f0fff4; border-left: 5px solid #52c41a; padding: 1rem; border-radius: 10px; opacity: 0; transform: translateY(20px); transition: all 0.4s ease; } #confirmation.visible { display: block; opacity: 1; transform: translateY(0); } #confirmation h3 { color: #2e7d32; margin-bottom: 0.5rem; } #confirmation p { margin: 0.25rem 0; } /* Utility */ .hidden { display: none; } /* Responsive padding for smaller screens */ @media (max-width: 480px) { .container { padding: 1.5rem; } }