/* Basic Reset & Body Styling */ body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; margin: 0; background-color: #f4f7f6; color: #333; } main { padding: 20px; max-width: 1200px; margin: 0 auto; } /* Header & Navigation */ header { background-color: #fff; padding: 1rem 2rem; border-bottom: 1px solid #e0e0e0; display: flex; justify-content: space-between; align-items: center; } header nav a { text-decoration: none; color: #007bff; font-weight: 500; margin-left: 15px; } header nav a:hover { text-decoration: underline; } /* Footer */ footer { text-align: center; padding: 20px; margin-top: 40px; background-color: #fff; border-top: 1px solid #e0e0e0; color: #777; } /* Forms */ .booking-form { background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); max-width: 500px; margin: 40px auto; } .booking-form h2 { margin-top: 0; margin-bottom: 20px; color: #333; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 500; color: #555; } .form-group input, .form-group select { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; /* Important */ } .form-group input:focus, .form-group select:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 2px rgba(0,123,255,0.25); } button { display: inline-block; background-color: #007bff; color: #fff; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; width: 100%; transition: background-color 0.2s; } button:hover { background-color: #0056b3; } /* Container for the main content */ .container { padding: 2rem; } /* Calendar Styling */ .calendar-container { background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); margin: 40px auto; } .calendar-container h2 { margin-top: 0; margin-bottom: 20px; color: #333; } #calendar { max-width: 1100px; margin: 0 auto; } /* Responsive container */ .container { display: flex; flex-wrap: wrap; gap: 20px; } .booking-form { flex: 1 1 400px; /* Flex-grow, flex-shrink, flex-basis */ } .calendar-container { flex: 2 1 600px; /* Takes up more space */ } /* Modal Styling */ .modal { display: none; /* Hidden by default */ position: fixed; /* Stay in place */ z-index: 1000; /* Sit on top */ left: 0; top: 0; width: 100%; /* Full width */ height: 100%; /* Full height */ overflow: auto; /* Enable scroll if needed */ background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ } .modal-content { background-color: #fefefe; margin: 15% auto; /* 15% from the top and centered */ padding: 20px; border: 1px solid #888; width: 80%; /* Could be more or less, depending on screen size */ max-width: 500px; border-radius: 8px; position: relative; } .close-button { color: #aaa; float: right; font-size: 28px; font-weight: bold; position: absolute; top: 10px; right: 20px; } .close-button:hover, .close-button:focus { color: black; text-decoration: none; cursor: pointer; }