/*! AYN CMS — ayn/assets/css/booking.css
 * © 2026 Ivo Franich. All rights reserved. Proprietary; licensed per
 * engagement — see LICENSE.md. Not for redistribution.
 */
.ayn-booking{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;max-width:500px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.1);overflow:hidden}.ayn-booking h3{margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;color:#1f2937}.ayn-booking-body{padding:1.5rem}.ayn-progress{display:flex;justify-content:space-between;padding:1rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e5e7eb}.ayn-progress-step{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:#9ca3af}.ayn-progress-step.active{color:#2563eb}.ayn-progress-step.complete{color:#059669}.ayn-progress-num{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e5e7eb;font-weight:600;font-size:0.75rem}.ayn-progress-step.active .ayn-progress-num{background:#2563eb;color:#fff}.ayn-progress-step.complete .ayn-progress-num{background:#059669;color:#fff}.ayn-progress-label{display:none}@media (min-width:400px){.ayn-progress-label{display:inline}}.ayn-services{display:flex;flex-direction:column;gap:0.75rem}.ayn-service{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background:#f8fafc;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all 0.15s;text-align:left}.ayn-service:hover{border-color:#2563eb;background:#eff6ff}.ayn-service-name{font-weight:600;color:#1f2937}.ayn-service-meta{font-size:0.875rem;color:#6b7280;margin-top:0.25rem}.ayn-service-desc{font-size:0.875rem;color:#6b7280;margin-top:0.5rem}.ayn-calendar{background:#f8fafc;border-radius:8px;padding:1rem}.ayn-cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ayn-cal-month{font-weight:600;color:#1f2937}.ayn-cal-nav{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:1.25rem;color:#6b7280;transition:all 0.15s}.ayn-cal-nav:hover{background:#e5e7eb}.ayn-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:0.5rem}.ayn-cal-weekdays div{text-align:center;font-size:0.75rem;font-weight:600;color:#6b7280;padding:0.5rem 0}.ayn-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.ayn-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:6px;font-size:0.875rem;color:#1f2937;cursor:default;transition:all 0.15s}.ayn-cal-day.empty{background:transparent}.ayn-cal-day.past,.ayn-cal-day.blocked{color:#d1d5db}.ayn-cal-day.available{cursor:pointer;background:#dcfce7;color:#166534;font-weight:500}.ayn-cal-day.available:hover{background:#bbf7d0}.ayn-cal-day.full{cursor:pointer;background:#fef3c7;color:#92400e}.ayn-cal-day.full:hover{background:#fde68a}.ayn-waitlist-hint{font-size:0.875rem;opacity:0.8;margin:-0.25rem 0 0.75rem}.ayn-cal-day.selected{background:#2563eb !important;color:#fff !important}.ayn-cal-day small{font-size:0.625rem;opacity:0.8}.ayn-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem}@media (max-width:400px){.ayn-slots{grid-template-columns:repeat(2,1fr)}}.ayn-slot{padding:0.75rem;background:#f8fafc;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:0.875rem;font-weight:500;color:#1f2937;transition:all 0.15s}.ayn-places{display:block;font-size:0.7rem;font-weight:400;opacity:0.75}.ayn-slot:hover{border-color:#2563eb;background:#eff6ff}.ayn-slot.selected{background:#2563eb;border-color:#2563eb;color:#fff}.ayn-form{display:flex;flex-direction:column;gap:1rem}.ayn-field{display:flex;flex-direction:column;gap:0.375rem}.ayn-field label{font-size:0.875rem;font-weight:500;color:#374151}.ayn-field input,.ayn-field textarea{padding:0.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color 0.15s}.ayn-field input:focus,.ayn-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,0.1)}.ayn-summary{padding:1rem;background:#f8fafc;border-radius:8px;font-size:0.875rem;color:#4b5563;line-height:1.6}.ayn-summary strong{color:#1f2937}.ayn-btn{padding:0.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.15s}.ayn-btn-primary{background:#2563eb;color:#fff}.ayn-btn-primary:hover{background:#1d4ed8}.ayn-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.ayn-back-link{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem;font-size:0.875rem}.ayn-back{background:none;border:none;color:#2563eb;cursor:pointer;padding:0;font-size:0.875rem}.ayn-back:hover{text-decoration:underline}.ayn-back-link span{color:#6b7280}.ayn-confirmation{text-align:center;padding:2rem 1rem}.ayn-success-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;background:#dcfce7;border-radius:50%;font-size:2rem;color:#059669}.ayn-confirmation h3{margin-bottom:0.5rem}.ayn-confirmation p{color:#6b7280;margin-bottom:1.5rem}.ayn-confirmation .ayn-summary{margin-bottom:1.5rem}.ayn-empty{text-align:center;padding:2rem;color:#6b7280}.ayn-terms{margin:1rem 0}.ayn-terms-content{max-height:150px;overflow-y:auto;padding:1rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;font-size:0.875rem;margin-bottom:0.75rem}.ayn-terms-agree{display:flex;align-items:center;gap:0.5rem;cursor:pointer;font-size:0.875rem}