/* Foodcourt Custom Theme & Design System (Inspired by foodcourt.apklaun.site) */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --fc-brand-primary: #f59e0b;
    --fc-brand-hover: #d97706;
    --fc-brand-dark: #b45309;
    --fc-brand-light: #fffbeb;
    --fc-brand-subtle: #fef3c7;
    --fc-brand-text: #78350f;
    
    --fc-dark-bg: #1c1917;
    --fc-dark-card: #292524;
    --fc-dark-border: #44403c;
    --fc-dark-text: #f5f5f4;
    
    --fc-body-bg: #f5f5f4;
    --fc-card-bg: #ffffff;
    --fc-border-color: #e7e5e4;
    --fc-text-main: #1c1917;
    --fc-text-muted: #78716c;
}

body {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: var(--fc-body-bg);
    color: var(--fc-text-main);
    line-height: 1.5;
}

/* Custom Navigation Bar */
.fc-navbar {
    background-color: var(--fc-dark-bg) !important;
    border-bottom: 1px solid var(--fc-dark-border);
}

.fc-brand-logo {
    width: 42px;
    height: 42px;
    background: linear-gradient(135deg, #f59e0b 0%, #fcd34d 100%);
    color: #1c1917;
    border-radius: 12px;
    font-size: 1.25rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3);
}

.fc-nav-pill {
    padding: 0.4rem 0.9rem;
    font-size: 0.825rem;
    font-weight: 600;
    border-radius: 10px;
    color: #d6d3d1;
    transition: all 0.2s ease;
    text-decoration: none;
}

.fc-nav-pill:hover {
    color: #ffffff;
    background-color: var(--fc-dark-border);
}

.fc-nav-pill.active {
    background-color: var(--fc-brand-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(217, 119, 6, 0.4);
}

/* Custom Buttons */
.btn-fc-primary {
    background-color: var(--fc-brand-primary);
    color: #1c1917;
    font-weight: 700;
    border: none;
    transition: all 0.2s ease;
}

.btn-fc-primary:hover, .btn-fc-primary:focus {
    background-color: var(--fc-brand-hover);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(217, 119, 6, 0.3);
}

.btn-fc-outline {
    border: 1.5px solid var(--fc-border-color);
    color: var(--fc-text-main);
    background-color: transparent;
    font-weight: 600;
}

.btn-fc-outline:hover, .btn-fc-outline.active {
    background-color: var(--fc-brand-primary);
    border-color: var(--fc-brand-primary);
    color: #1c1917;
}

/* Custom Cards */
.fc-card {
    background-color: var(--fc-card-bg);
    border: 1px solid var(--fc-border-color);
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    transition: all 0.2s ease;
}

.fc-card-hover:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08) !important;
}

/* Badges */
.badge-fc-amber {
    background-color: var(--fc-brand-subtle);
    color: var(--fc-brand-text);
    border: 1px solid rgba(245, 158, 11, 0.3);
    font-weight: 700;
}

/* Fallback native date input (if flatpickr fails) - enlarged */
input[type="date"].form-control,
input[type="date"].form-control-sm,
input[type="date"].form-control-lg {
    min-height: 60px;
    height: 60px;
    padding: 0.8rem 1.15rem;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    border-radius: 14px;
    border-width: 2px;
    letter-spacing: 0.02em;
}

/* Flatpickr input (text) - enlarged */
.flatpickr-date.form-control,
.flatpickr-date.form-control-sm,
.flatpickr-date.form-control-lg,
.flatpickr-alt {
    min-height: 60px !important;
    height: 60px !important;
    padding: 0.8rem 1.15rem !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    border-radius: 14px !important;
    border-width: 2px !important;
    letter-spacing: 0.02em;
    background-color: #fff;
    cursor: pointer;
}
.flatpickr-date.bg-dark + .flatpickr-alt,
.flatpickr-date.bg-dark.flatpickr-alt {
    background-color: var(--bs-dark) !important;
    color: #fff !important;
    border-color: var(--bs-border-color) !important;
}
.datepicker-lg {
    min-height: 64px !important;
    height: 64px !important;
    font-size: 1.3rem !important;
    padding: 0.9rem 1.25rem !important;
    border-radius: 16px !important;
}

/* Flatpickr calendar - XL custom */
.flatpickr-calendar {
    font-family: 'Plus Jakarta Sans', sans-serif;
    border-radius: 18px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.18) !important;
    border: 1px solid var(--fc-border-color) !important;
    width: 380px !important;
    padding: 10px !important;
}
.flatpickr-months {
    padding: 6px 0 !important;
}
.flatpickr-months .flatpickr-month {
    height: 48px !important;
}
.flatpickr-current-month {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    padding-top: 6px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}
.flatpickr-current-month .numInputWrapper {
    width: 95px !important;
}
.flatpickr-current-month input.cur-year {
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    padding: 4px 6px !important;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    height: 44px !important;
    width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    width: 20px !important;
    height: 20px !important;
}
.flatpickr-weekdays {
    height: 40px !important;
}
span.flatpickr-weekday {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--fc-text-muted) !important;
}
.flatpickr-days {
    width: 380px !important;
}
.dayContainer {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    padding: 4px !important;
}
.flatpickr-day {
    height: 48px !important;
    line-height: 48px !important;
    max-width: 48px !important;
    width: 48px !important;
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    margin: 2px !important;
}
.flatpickr-day:hover {
    background: var(--fc-brand-subtle) !important;
    border-color: var(--fc-brand-subtle) !important;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
    background: var(--fc-brand-primary) !important;
    border-color: var(--fc-brand-primary) !important;
    color: #1c1917 !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 12px rgba(245,158,11,0.4) !important;
}
.flatpickr-day.today {
    border-color: var(--fc-brand-primary) !important;
    font-weight: 800 !important;
}

/* Scrollbar Customization */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: #f1f1f0;
}
::-webkit-scrollbar-thumb {
    background: #d6d3d1;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a8a29e;
}

/* === Survey: radio button besar agar tidak salah pencet (kiosk & cashier) === */
.survey-radio-lg .survey-radio-item {
    margin: 0;
}

.survey-radio-lg .survey-radio-item .form-check-input[type="radio"] {
    width: 1.9rem;
    height: 1.9rem;
    margin-top: 0;
    margin-right: .45rem;
    border: 2px solid #a8a29e;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.survey-radio-lg .survey-radio-item .form-check-input[type="radio"]:hover {
    border-color: var(--fc-brand-primary, #d97706);
}

.survey-radio-lg .survey-radio-item .form-check-input[type="radio"]:checked {
    background-color: var(--fc-brand-primary, #d97706);
    border-color: var(--fc-brand-primary, #d97706);
    box-shadow: 0 0 0 .25rem rgba(217, 119, 6, .18);
}

.survey-radio-lg .survey-radio-item .form-check-label {
    cursor: pointer;
    font-size: 1rem;
    padding: .35rem 0;
    display: flex;
    align-items: center;
}
