/* ============================================
   RESET & BASE STYLES
   ============================================ */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    width: 100vw;
    height: 100dvh !important;
    display: flex;
    overflow: hidden;
    flex-direction: column;
    position: relative;
    font: var(--s-14);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.dis-none {
    display: none !important;
}

div,
p,
span,
a,
b,
button,
input,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Poppins", sans-serif;
    margin: 0;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar for webkit browsers */
::-webkit-scrollbar {
    width: var(--px-8);
}

::-webkit-scrollbar-track {
    background: #ffffff;
}

::-webkit-scrollbar-thumb {
    background: var(--bs-gray-500);
    border-radius: var(--px-4);
}

    ::-webkit-scrollbar-thumb:hover {
        background: var(--hotel-primary-dark);
    }

/* Print styles */
@media print {
    .phone-screen-wrapper {
        background: white;
    }

    .phone-screen-bg,
    .phone-screen-overlay,
    .decorative-circle {
        display: none;
    }

    .phone-input-card {
        box-shadow: none;
        border: 1px solid #ccc;
    }

    .info-page-wrapper {
        background: white;
    }

    .info-page-bg,
    .info-page-overlay {
        display: none;
    }

    .section-card {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* Accessibility - Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .num-btn,
    .clear-btn,
    .submit-btn,
    .btn-book-now,
    .btn-see-info,
    .btn-back,
    .btn-more-details {
        min-height: var(--px-44);
        min-width: var(--px-44);
    }

        .num-btn:active,
        .clear-btn:active,
        .submit-btn:not(.disabled):active {
            transform: scale(0.92);
        }
}
