/* Custom styles for reservation system */
:root {
    --brand-black: #000000;
    --brand-offwhite: #FDFAF9;
    --brand-orange: #F7902B;
    --brand-blue: #3477A9;
    --brand-red: #E54626;
}

body { background-color: var(--brand-offwhite); }

.calendar-container { background: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); padding: 20px; margin-bottom: 30px; }

.reservation-card { border-left: 4px solid; transition: all 0.3s ease; }
.reservation-card:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.1); }

.source-airbnb { border-left-color: #FF5A5F; }
.source-booking { border-left-color: #003580; }
.source-phone { border-left-color: #28A745; }
.source-direct { border-left-color: #6F42C1; }
.source-other { border-left-color: #6C757D; }

.stats-card { background: linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-orange) 100%); color: white; border-radius: 10px; padding: 20px; margin-bottom: 20px; }
.stats-card h3 { font-size: 2.5rem; font-weight: bold; margin: 0; }
.stats-card p { margin: 0; opacity: 0.9; }

.btn-custom { border-radius: 25px; padding: 10px 25px; font-weight: 500; transition: all 0.3s ease; }
.btn-custom:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }

.btn-primary { background-color: var(--brand-orange); border-color: var(--brand-orange); }
.btn-primary:hover { background-color: #de7f1f; border-color: #de7f1f; }
.btn-secondary { background-color: var(--brand-blue); border-color: var(--brand-blue); }
.btn-secondary:hover { background-color: #2d6a96; border-color: #2d6a96; }
.btn-danger { background-color: var(--brand-red); border-color: var(--brand-red); }
.badge.bg-success { background-color: var(--brand-blue) !important; }
.badge.bg-secondary { background-color: #adb5bd !important; }

.table-responsive { border-radius: 8px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }

/* Navbar improvements */
.navbar-branding { background: linear-gradient(90deg, var(--brand-orange) 0%, var(--brand-red) 60%); box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.navbar-brand { font-weight: bold; font-size: 1.5rem; color: white !important; }
.navbar .nav-link { color: rgba(255,255,255,0.9) !important; font-weight: 500; padding: 0.75rem 1rem !important; border-radius: 6px; margin: 0 2px; transition: all 0.3s ease; text-shadow: 0 1px 2px rgba(0,0,0,0.2); }
.navbar .nav-link:hover { color: white !important; background-color: rgba(255,255,255,0.15); transform: translateY(-1px); }
.navbar .nav-link.active { color: white !important; background-color: rgba(255,255,255,0.25); font-weight: 600; }
.navbar .dropdown-menu { border: none; box-shadow: 0 4px 16px rgba(0,0,0,0.15); border-radius: 8px; }
.navbar .dropdown-item { color: var(--brand-black); transition: all 0.2s ease; }
.navbar .dropdown-item:hover { background-color: var(--brand-orange); color: white; }
.brand-logo { height: 36px; width: auto; filter: drop-shadow(0 1px 0 rgba(0,0,0,0.4)) drop-shadow(0 2px 4px rgba(0,0,0,0.25)); }
.login-logo { height: 64px; width: auto; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)) drop-shadow(0 4px 8px rgba(0,0,0,0.2)) drop-shadow(0 1px 0 rgba(255,255,255,0.8)); }

.main-content { padding: 30px; }

/* Animated accents for auth */
.auth-bg { background: radial-gradient(1200px 600px at 10% 10%, rgba(247,144,43,0.15), transparent 60%), radial-gradient(1000px 500px at 90% 20%, rgba(52,119,169,0.18), transparent 60%), radial-gradient(800px 400px at 50% 100%, rgba(229,70,38,0.12), transparent 60%), var(--brand-offwhite); animation: floatBg 12s ease-in-out infinite; }
@keyframes floatBg { 0%, 100% { background-position: 10% 10%, 90% 20%, 50% 100%; } 50% { background-position: 12% 8%, 88% 22%, 48% 98%; } }

.card.lift { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.card.lift:hover { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(0,0,0,0.12); }

/* Pagination styling */
.pagination { margin-bottom: 0; }
.pagination-custom { gap: 0.25rem; }
.pagination-custom .page-link { color: var(--brand-blue); border: 1px solid #e3e6ef; padding: 0.625rem 1rem; border-radius: 0.5rem; transition: all 0.3s ease; font-weight: 500; text-decoration: none; background-color: white; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.pagination-custom .page-link:hover { color: white; background: linear-gradient(135deg, var(--brand-orange) 0%, var(--brand-red) 100%); border-color: var(--brand-orange); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(247, 144, 43, 0.4); }
.pagination-custom .page-item.active .page-link { background: linear-gradient(135deg, var(--brand-blue) 0%, #2856a0 100%); border-color: var(--brand-blue); color: white; box-shadow: 0 4px 12px rgba(52, 119, 169, 0.4); }
.pagination-custom .page-item.disabled .page-link { color: #adb5bd; background-color: #f8f9fa; border-color: #e9ecef; cursor: not-allowed; box-shadow: none; }
.pagination-custom .page-link:focus { box-shadow: 0 0 0 0.2rem rgba(52, 119, 169, 0.25); z-index: 3; }
.pagination-info { font-size: 0.875rem; }
.pagination-info strong { color: var(--brand-blue); font-weight: 600; }

@media (max-width: 576px) { .pagination-custom .page-link { padding: 0.5rem 0.75rem; font-size: 0.875rem; } .pagination-info { text-align: center; font-size: 0.8rem; } }
@media (max-width: 768px) { .main-content { padding: 15px; } .stats-card h3 { font-size: 2rem; } }
