.rsv-form-btn { border-radius: 1.375rem; border: 1.5px solid #e0e0e0; color: #555; padding: 0 calc(1.25rem + 4px); height: 3.5rem; background-color: white; line-height: 140%; font-size: 1rem; font-size: 15px; font-weight: 600; font-family: inherit; outline: none; } .rsv-form-btn:hover { background-color: #f5f5f5; } /* Primary CTA (submit / confirm) */ .rsv-form-btn-primary { background: #2563eb; color: #fff; border: none; cursor: pointer; width: 100%; transition: background .12s; letter-spacing: -.01em; } .rsv-form-btn-primary:hover { background: #1d4ed8; } .rsv-form-btn-primary:disabled { background: #e0e0e0; color: #aaa; cursor: not-allowed; } /* FORM */ .reservair-form { margin-left: auto; margin-right: auto; } .rsv-form-input-short { max-width: 320px; margin-left: auto; margin-right: auto; } .rsv-form-input { border: 1px solid var(--color-gray-300); outline: none; padding: var(--s-2); border-radius: var(--s-2); width: 100%; box-sizing: border-box; background-color: var(--color-gray-50); transition: box-shadow 0.2s ease, border-color 0.2s ease; } /*.reservair-form button,*/ .rsv-form-input[type="submit"] { background-color: var(--color-blue-500); padding: 0.5rem; color: white; border: none; font-size: 0.875rem; font-weight: 600; transition: background-color 0.2s ease; } .rsv-form-input[type="submit"]:hover { background-color: var(--color-blue-400); } .reservair-form button.rsv-loading { color: transparent; pointer-events: none; position: relative; } .reservair-form button.rsv-loading::after { content: ''; position: absolute; inset: 0; margin: auto; width: 1em; height: 1em; border: 2px solid white; border-top-color: transparent; border-radius: 50%; animation: rsv-spin 0.6s linear infinite; } @keyframes rsv-spin { to { transform: rotate(360deg); } } .rsv-form-input:focus { box-shadow: 0 0 0 4px color-mix(in oklab,var(--color-blue-500)25%,transparent); border-color: var(--color-blue-500); } /*.rsv-form-input input:user-invalid { border-color: var(--color-red-500); box-shadow: 0 0 0 4px color-mix(in oklab,var(--color-red-500)25%,transparent); }*/ .rsv-form-section { margin-bottom: var(--s-5); } .rsv-form-input-group>* { margin-bottom: var(--s-1); } .rsv-form-input-group { margin-bottom: var(--s-4); } .rsv-form-label, .rsv-form-small { padding-left: 5pt; font-size: 0.875rem; font-weight: 500; display: block; } .rsv-form-small { color: gray; } /*.confirmation small { color: var(--color-gray-500); }*/ .rsv-error-summary { background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent); border: 1px solid var(--color-red-400); border-radius: var(--s-2); padding: var(--s-2) var(--s-3); margin-bottom: var(--s-3); font-size: 0.875rem; color: var(--color-red-800); } .rsv-error-summary ul { margin: 0; padding-left: 1.25rem; } .rsv-field-error { display: block; color: var(--color-red-600); font-size: 0.8rem; margin-top: var(--s-1); padding-left: 5pt; } .rsv-form-input:user-invalid, .rsv-invalid { border-color: var(--color-red-500) !important; box-shadow: 0 0 0 4px color-mix(in oklab, var(--color-red-500) 25%, transparent) !important; } .rsv-success-msg { text-align: center; color: var(--color-green-700); width: 320px; } .rsv-success-msg p { margin-top: 0; font-size: 1.125rem; font-weight: 500; } .rsv-success-msg h1, .rsv-success-msg h2, .rsv-success-msg h3, .rsv-success-msg h4, .rsv-success-msg h5, .rsv-success-msg h6 { margin-top: 0; margin-bottom: 0.5rem; } .rsv-summary { margin-bottom: 2rem; } .rsv-success-icon { width: 64px; height: 64px; border-radius: 50%; background: #dcfce7; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; } .rsv-timetable-selector { display: grid; grid-template-columns: repeat(2, 1fr); } @media (max-width: 768px) { .rsv-timetable-selector { grid-template-columns: repeat(1, 1fr); } }