body { font-family: 'Inter', sans-serif; }
.glass-panel {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* Simple animations for the demo widget */
@keyframes slideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-slide-up {
    animation: slideUp 0.3s ease-out forwards;
}
.platform-logo {
    filter: brightness(0) saturate(100%) invert(45%);
    opacity: 0.7;
}

/* Flatpickr: unified range - same color, no gaps, square corners for seamless block */
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.inRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.inRange:hover,
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    background: #111827 !important;
    border: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    color: #fff !important;
    border-radius: 0 !important;
}
/* Remove gap between day cells for seamless range */
.flatpickr-days .dayContainer {
    justify-content: flex-start !important;
    gap: 0 !important;
}
.flatpickr-day {
    margin: 0 !important;
}
/* Flatpickr: strikethrough for unavailable dates */
.flatpickr-day.unavailable {
    text-decoration: line-through;
    color: #94a3b8;
}

/* Flatpickr: mobile centered modal with backdrop */
.flatpickr-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}
.flatpickr-calendar.flatpickr-mobile-modal {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 9999 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border-radius: 1rem;
    border: none;
}
.flatpickr-calendar.flatpickr-mobile-modal .flatpickr-months {
    border-radius: 1rem 1rem 0 0;
}
/* Mobile: scroll in dedicated container so fixed header stays anchored (fixes iOS Safari) */
@media (max-width: 767px) {
    html, body { height: 100%; overflow: hidden; }
    #main-scroll {
        height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
    }
}
/* Active nav item: color + 1px border 8px below */
.nav-active,
.nav-active:hover {
    color: rgb(18, 140, 126) !important;
}
.nav-active {
    position: relative;
}
.nav-active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 1px;
    background: rgb(18, 140, 126);
}
.mobile-menu-link.nav-active {
    padding-bottom: 4px;
}
/* Mobile: subtle header shadow when scrolled */
@media (max-width: 767px) {
    #main-nav.nav-scrolled {
        box-shadow: 0 2px 8px rgba(71, 85, 105, 0.08);
    }
}
/* Dimmed button when popup open: stay dimmed on hover too */
#demo-chat-toggle.chat-open,
#demo-chat-toggle.chat-open:hover {
    background-color: #39995D !important;
}
/* Mobile: center WhatsApp popup (button stays bottom-right) */
@media (max-width: 767px) {
    #demo-chat-window:not(.hidden) {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(1.5rem + 4rem + 1rem) !important;
        width: min(360px, calc(100vw - 2rem)) !important;
        max-width: calc(100vw - 2rem) !important;
        margin-left: calc(-1 * min(180px, calc((100vw - 2rem) / 2))) !important;
    }
}
