:root {
    color-scheme: light;
    font-family: Arial, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 2rem;
    background: #f4f6f8;
    color: #1f2937;
}

main {
    max-width: 860px;
    margin: 0 auto;
    background: #ffffff;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

main:has(.reservation-v1) {
    max-width: none;
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}

body:has(.reservation-v1) {
    padding: 0;
    background: #f5f7ff;
}

.app-footer {
    max-width: 860px;
    margin: 1rem auto 0;
    color: #4b5563;
}

.flatpickr-wrapper {
    display: block;
    width: 100%;
}

.flatpickr-input,
.flatpickr-alt-input {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
}


.form-input {
    width: 100%;
}

.flatpickr-alt-input {
    border-radius: 14px;
}
