.modern-datepicker-container{position:relative;font-family:var(--font-heading);z-index:50}.datepicker-trigger{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(30,41,59,.8),rgba(15,23,42,.9));border:1px solid var(--booking-glass-border,rgba(99,102,241,.3));border-radius:16px;padding:10px 16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:240px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.datepicker-trigger:hover{border-color:var(--booking-primary,#6366f1);background:linear-gradient(135deg,rgba(40,50,75,.9),rgba(20,30,50,.95));transform:translateY(-1px);box-shadow:0 8px 20px rgba(99,102,241,.25)}.datepicker-trigger:active{transform:translateY(1px)}.trigger-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(99,102,241,.15);border-radius:12px;color:var(--booking-primary-light,#818cf8);font-size:1.2rem;transition:all .3s ease}.datepicker-trigger:hover .trigger-icon{background:var(--booking-primary,#6366f1);color:#fff}.trigger-content{display:flex;flex-direction:column;flex:1 1}.trigger-label{font-size:.75rem;color:var(--booking-gray-400,#94a3b8);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:2px}.trigger-value{font-size:1rem;color:#fff;font-weight:700;letter-spacing:.3px}.trigger-chevron{color:var(--booking-gray-500,#64748b);font-size:1.1rem;transition:transform .3s ease}.datepicker-trigger.is-open .trigger-chevron{transform:rotate(180deg);color:var(--booking-primary,#6366f1)}.datepicker-trigger.is-open{border-color:var(--booking-primary,#6366f1);box-shadow:0 0 0 2px rgba(99,102,241,.2)}.calendar-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:340px;background:rgba(15,23,42,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--booking-glass-border,rgba(99,102,241,.2));border-radius:20px;padding:20px;box-shadow:0 20px 40px -5px rgba(0,0,0,.4),0 0 0 1px hsla(0,0%,100%,.05);overflow:hidden;animation:slideDown .3s cubic-bezier(.16,1,.3,1);transform-origin:top right;z-index:100}@keyframes slideDown{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid hsla(0,0%,100%,.08)}.current-month{font-size:1.1rem;font-weight:700;color:#fff}.month-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:hsla(0,0%,100%,.15);border:none;color:#ccc;cursor:pointer;transition:all .2s ease}.month-nav-btn:hover{background:rgba(99,102,241,.2);color:var(--booking-primary-light,#818cf8)}.month-nav-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.month-nav-btn svg{width:24px!important;height:24px!important;min-width:24px;min-height:24px;font-size:24px!important}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;text-align:center}.weekday-header{font-size:.75rem;color:var(--booking-gray-500,#64748b);font-weight:600;margin-bottom:8px;text-transform:uppercase}.calendar-day{height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--booking-gray-200,#e2e8f0);cursor:pointer;position:relative;transition:all .2s ease;border:1px solid transparent}.calendar-day:hover:not(.disabled):not(.selected){background:hsla(0,0%,100%,.08);color:#fff}.calendar-day.today{color:var(--booking-primary-light,#818cf8);border-color:rgba(99,102,241,.5);font-weight:700}.calendar-day.selected{background:var(--booking-gradient,linear-gradient(135deg,#6366f1 0,#8b5cf6 100%));color:#fff;box-shadow:0 4px 10px rgba(99,102,241,.4);font-weight:700;border-color:transparent}.calendar-day.disabled{color:var(--booking-gray-700,#334155);cursor:not-allowed;opacity:.5}.calendar-day.other-month{opacity:0;pointer-events:none}.calendar-footer{margin-top:15px;padding-top:12px;border-top:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:center;gap:10px}.quick-date-btn{padding:6px 12px;background:rgba(99,102,241,.1);color:var(--booking-primary-light,#818cf8);border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.quick-date-btn:hover{background:rgba(99,102,241,.25);transform:translateY(-1px)}@media (max-width:600px){.modern-datepicker-container{position:relative}.datepicker-trigger{min-width:100%;padding:10px 14px}.trigger-icon{width:36px;height:36px;font-size:1.1rem;border-radius:10px}.trigger-label{font-size:.7rem}.trigger-value{font-size:.95rem}.calendar-dropdown{position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;bottom:auto!important;transform:none!important;width:100%;max-width:none;border-radius:16px;border:1px solid rgba(99,102,241,.3);padding:16px;z-index:9999;animation:slideDownMobile .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDownMobile{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-header{margin-bottom:12px;padding-bottom:10px}.current-month{font-size:.95rem}.month-nav-btn{width:48px;height:48px;border-radius:12px;background:hsla(0,0%,100%,.15);display:flex;align-items:center;justify-content:center}.month-nav-btn svg{width:24px!important;height:24px!important;min-width:24px;min-height:24px;font-size:24px!important}.calendar-grid{gap:4px}.weekday-header{font-size:.65rem;margin-bottom:4px}.calendar-day{height:36px;font-size:.85rem;border-radius:8px}.calendar-footer{margin-top:10px;padding-top:8px;flex-wrap:wrap;gap:6px}.quick-date-btn{padding:6px 10px;font-size:.7rem;border-radius:6px}}@media (max-width:380px){.calendar-dropdown{padding:12px}.calendar-day{height:32px;font-size:.8rem}.calendar-grid{gap:3px}}.mobile-date-carousel{display:none;width:100%;margin-top:4px}.mobile-date-carousel-scroll{display:flex;gap:10px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;scrollbar-width:none;-ms-overflow-style:none}.mobile-date-carousel-scroll::-webkit-scrollbar{display:none}.mobile-date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;width:58px;height:70px;border-radius:12px;border:1.5px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px rgba(0,0,0,.04);padding:6px 4px;flex-shrink:0;position:relative;-webkit-tap-highlight-color:transparent;outline:none}.mobile-date-card:active{transform:scale(.95)}.mobile-date-card.selected{background:linear-gradient(135deg,#ff6b35,#ff8f5e);border-color:transparent;box-shadow:0 4px 14px rgba(255,107,53,.35);transform:translateY(-2px)}.mobile-date-weekday{font-size:.6rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;line-height:1}.mobile-date-card.selected .mobile-date-weekday{color:hsla(0,0%,100%,.95);font-weight:600}.mobile-date-day{font-size:1.25rem;font-weight:700;color:#1e293b;line-height:1.2;font-family:var(--font-heading,"Poppins",sans-serif)}.mobile-date-card.selected .mobile-date-day{color:#fff}.mobile-date-month{font-size:.58rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.2px;line-height:1}.mobile-date-card.selected .mobile-date-month{color:hsla(0,0%,100%,.75)}.mobile-date-card.is-today:not(.selected):after{content:"";position:absolute;bottom:5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:#ff6b35}@media (max-width:768px){.mobile-date-carousel{display:block}}@media (max-width:380px){.mobile-date-card{min-width:52px;width:52px;height:65px;border-radius:12px;gap:1px}.mobile-date-weekday{font-size:.55rem}.mobile-date-day{font-size:1.1rem}.mobile-date-month{font-size:.52rem}}