        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }


        body {

            font-family:
                Arial,
                Helvetica,
                sans-serif;

            background: #f7f8fa;

            color: #1f2937;

        }


        a {
            text-decoration: none;
            color: inherit;
        }


        /* =================================================
           HEADER
        ================================================= */

        .header {

            background: #ffffff;

            border-bottom:
                1px solid #e5e7eb;

            position: sticky;

            top: 0;

            z-index: 100;

        }


        .header-inner {

            max-width: 1200px;

            margin: auto;

            padding:
                15px 24px;

        }


        .header-row {

            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 20px;

        }


        /* BRAND */

        .brand {

            display: flex;

            align-items: center;

            gap: 10px;

            min-width: 190px;

        }


        .brand-icon {

            width: 40px;

            height: 40px;

            border-radius: 9px;

            background: #111827;

            color: #ffffff;

            display: flex;

            align-items: center;

            justify-content: center;

            font-size: 16px;

            font-weight: 800;

        }


        .brand-name {

            font-size: 19px;

            font-weight: 800;

            color: #111827;

        }


        .brand-subtitle {

            font-size: 11px;

            color: #9ca3af;

            margin-top: 2px;

        }


        .home-link {

            font-size: 14px;

            font-weight: 600;

            color: #4b5563;

        }


        .home-link:hover {

            color: #111827;

        }


        /* =================================================
           SEARCH BAR
        ================================================= */

        .search-area {

            max-width: 1200px;

            margin: auto;

            padding:
                0 24px 15px;

        }


        .search-form {

            display: flex;

            align-items: center;

            gap: 10px;

        }


        .search-box {

            flex: 1;

            height: 44px;

            display: flex;

            align-items: center;

            gap: 8px;

            background: #f9fafb;

            border:
                1px solid #e5e7eb;

            border-radius: 9px;

            padding:
                0 13px;

        }


        .search-icon {

            font-size: 16px;

            color: #6b7280;

        }


        .search-input {

            width: 100%;

            height: 100%;

            border: none;

            outline: none;

            background: transparent;

            font-size: 14px;

        }


        .search-button {

            height: 44px;

            padding:
                0 20px;

            border: none;

            border-radius: 9px;

            background: #111827;

            color: #ffffff;

            font-size: 13px;

            font-weight: 700;

            cursor: pointer;

        }


        /* =================================================
           PAGE
        ================================================= */

        .page {

            max-width: 1000px;

            margin: auto;

            padding:
                38px 24px 70px;

        }


        .page-heading {

            margin-bottom: 25px;

        }


        .page-heading h1 {

            font-size: 30px;

            color: #111827;

            letter-spacing:
                -0.7px;

        }


        .page-heading p {

            margin-top: 7px;

            font-size: 14px;

            color: #6b7280;

        }


        /* =================================================
           BOOKING CARD
        ================================================= */

        .booking-card {

            background: #ffffff;

            border:
                1px solid #e5e7eb;

            border-radius: 15px;

            padding: 30px;

            box-shadow:
                0 4px 18px
                rgba(0, 0, 0, 0.03);

        }


        .section-title {

            font-size: 18px;

            font-weight: 800;

            color: #111827;

            margin-bottom: 20px;

        }


        /* =================================================
           FORM
        ================================================= */

        .form-grid {

            display: grid;

            grid-template-columns:
                repeat(2, minmax(0, 1fr));

            gap: 20px;

        }


        .form-group {

            display: flex;

            flex-direction: column;

        }


        .form-group.full {

            grid-column:
                1 / -1;

        }


        .form-group label {

            font-size: 13px;

            font-weight: 700;

            color: #374151;

            margin-bottom: 7px;

        }


        .required {

            color: #dc2626;

        }


        .form-control {

            width: 100%;

            height: 46px;

            padding:
                0 13px;

            border:
                1px solid #d1d5db;

            border-radius: 8px;

            background: #ffffff;

            font-size: 14px;

            color: #1f2937;

            outline: none;

        }


        textarea.form-control {

            height: 105px;

            padding:
                12px 13px;

            resize: vertical;

        }


        .form-control:focus {

            border-color: #111827;

        }


        .help-text {

            margin-top: 6px;

            font-size: 11px;

            color: #9ca3af;

        }


        /* =================================================
           ADDRESS
        ================================================= */

        .address-section {

            margin-top: 30px;

            padding-top: 28px;

            border-top:
                1px solid #f0f0f0;

        }


        .address-grid {

            display: grid;

            grid-template-columns:
                2fr 1fr 1fr;

            gap: 15px;

        }


        /* =================================================
           SCHEDULE
        ================================================= */

        .schedule-section {

            margin-top: 30px;

            padding-top: 28px;

            border-top:
                1px solid #f0f0f0;

        }


        /* =================================================
           SERVICE SELECTION
        ================================================= */

        .service-selection {
            margin-bottom: 30px;
            padding-bottom: 28px;
            border-bottom:
            1px solid #f0f0f0;
        }

        .service-selection .form-group + .form-group {
        margin-top: 18px;
        }

        .service-select {
            width: 100%;
            height: 48px;
            padding:
                0 13px;
            border:
                1px solid #d1d5db;
            border-radius: 8px;
            background: #ffffff;
            font-size: 14px;
            outline: none;
        }


        .service-select:focus {
            border-color: #111827;
        }
        
        
        /* =================================================
           SEARCHABLE SERVICE PICKER
        ================================================= */
        
        .service-picker {
            position: relative;
            width: 100%;
        }
        
        
        .service-search-box {
            width: 100%;
            height: 48px;
        
            display: flex;
            align-items: center;
        
            gap: 9px;
        
            border: 1px solid #d1d5db;
        
            border-radius: 8px;
        
            background: #ffffff;
        
            padding: 0 13px;
        }
        
        
        .service-search-box:focus-within {
            border-color: #111827;
        }
        
        
        .service-search-icon {
            font-size: 15px;
            color: #6b7280;
        }
        
        
        .service-search-box input {
            width: 100%;
            height: 100%;
        
            border: none;
            outline: none;
        
            background: transparent;
        
            font-size: 14px;
        
            color: #1f2937;
        }
        
        
        .service-search-box input::placeholder {
            color: #9ca3af;
        }
        
        
        .service-results {
            display: none;
        
            margin-top: 6px;
        
            max-height: 260px;
        
            overflow-y: auto;
        
            background: #ffffff;
        
            border: 1px solid #e5e7eb;
        
            border-radius: 9px;
        
            box-shadow:
                0 8px 25px
                rgba(0, 0, 0, 0.08);
        
            position: relative;
        
            z-index: 20;
        }
        
        
        .service-results.show {
            display: block;
        }
        
        
        .service-result-item {
            padding: 12px 14px;
        
            cursor: pointer;
        
            border-bottom:
                1px solid #f3f4f6;
        
            transition:
                background 0.15s ease;
        }
        
        
        .service-result-item:last-child {
            border-bottom: none;
        }
        
        
        .service-result-item:hover {
            background: #f9fafb;
        }
        
        
        .service-result-name {
            font-size: 14px;
        
            font-weight: 700;
        
            color: #111827;
        }
        
        
        .service-result-meta {
            margin-top: 4px;
        
            font-size: 12px;
        
            color: #6b7280;
        }
        
        
        .service-no-results {
            padding: 14px;
        
            font-size: 13px;
        
            color: #6b7280;
        
            text-align: center;
        }
        
        


        /* =================================================
           NOTES
        ================================================= */

        .notes-section {

            margin-top: 30px;

            padding-top: 28px;

            border-top:
                1px solid #f0f0f0;

        }


        /* =================================================
           SUBMIT
        ================================================= */

        .submit-area {

            margin-top: 30px;

            padding-top: 25px;

            border-top:
                1px solid #f0f0f0;

            display: flex;

            align-items: center;

            justify-content: space-between;

            gap: 20px;

        }


        .submit-note {

            font-size: 12px;

            line-height: 1.5;

            color: #9ca3af;

            max-width: 500px;

        }


        .submit-button {

            min-width: 220px;

            height: 48px;

            border: none;

            border-radius: 9px;

            background: #111827;

            color: #ffffff;

            font-size: 14px;

            font-weight: 700;

            cursor: pointer;

        }


        .submit-button:hover {

            background: #000000;

        }


        /* =================================================
           FOOTER
        ================================================= */

        .footer {

            background: #ffffff;

            border-top:
                1px solid #e5e7eb;

            padding:
                22px 24px;

            text-align: center;

            color: #9ca3af;

            font-size: 12px;

        }


        /* =================================================
           MOBILE
        ================================================= */

        @media (max-width: 700px) {

            .header-inner {

                padding:
                    13px 16px;

            }


            .search-area {

                padding:
                    0 16px 13px;

            }


            .page {

                padding:
                    28px 16px 50px;

            }


            .booking-card {

                padding: 22px 18px;

            }


            .form-grid {

                grid-template-columns: 1fr;

            }


            .form-group.full {

                grid-column: auto;

            }


            .address-grid {

                grid-template-columns: 1fr;

            }


            .submit-area {

                flex-direction: column;

                align-items: stretch;

            }


            .submit-button {

                width: 100%;

            }

        }


        @media (max-width: 500px) {

            .header-row {

                align-items: flex-start;

            }


            .brand-name {

                font-size: 17px;

            }


            .home-link {

                font-size: 12px;

            }


            .search-form {

                gap: 7px;

            }


            .search-button {

                padding:
                    0 14px;

            }


            .page-heading h1 {

                font-size: 26px;

            }

        }
        
        
        /* STYLE FOR OTP */
            .otp-section {
            margin-top: 28px;
            padding-top: 24px;
            border-top: 1px solid #e5e7eb;
        }
        
        .otp-section .help-text {
            margin-bottom: 16px;
        }
        
        #otpMessage {
            margin-top: 10px;
        }
        
        #otpMessage.success {
            color: #15803d;
        }
        
        #otpMessage.error {
            color: #dc2626;
        }
        