@charset "utf-8";
body {
	font-family: "Lato", sans-serif;
  	font-weight: 600;
	background-color: #FFFFFF;
	padding: 0;
	margin: 0;
}

header {
    position: relative;
    z-index: 10;
    height: 80px;
    padding: 0px 30px;
    box-sizing: border-box;
    margin-bottom: 45px; /* REMOVE this extra space, handle content spacing with h1 */
}

nav {
    /* Align nav with header padding (30px from right edge) */
    margin: 35px 0; /* Keep vertical margin, remove horizontal margin */
    /* REMOVE THIS LINE: width: 10%; */ /* Let flexbox decide width based on content */
}

.navi {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 20px;
	text-align: center;
	justify-content: flex-end;
	font-size: 20px;
}

li a, .dropbtn {
	display: inline-block;
	color: #000000;
	text-decoration: none;
	text-align: center;
	padding: 14px 16px;
}

li a:hover, .dropdown:hover .dropbtn {
	background-color: #1BC6CE;
}

li.dropdown {
    display: inline-block;
}

.dropdown-content {
	display: none;
	position: absolute;
	z-index: 2;
	background-color:#1BC6CE;
	min-width: 160px;
}

.dropdown-content a {
	color:#000000;
	display: block;
	text-decoration: none;
	text-align: left;
	padding: 12px 16px;
}

.dropdown:hover .dropdown-content {
    display: block;
}

.dropdown-content a:hover {
	background-color: #000000;
	color: #1BC6CE;
}

#logo {
    /* Align logo with header padding (30px from left edge) */
    margin: 35px 0; /* Keep vertical margin, remove horizontal margin */
    width: 280px;
    height: 45px;
}

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center; /* NEW: Helps vertically center logo and nav items */
    z-index: 2; /* This z-index is within the header, it's fine */
}

footer {
    background-color: #000000;
    color: #FFFFFF;
    padding: 40px 35px 20px; /* Overall footer padding */
    text-align: center;
    display: flex;
    flex-direction: column; /* Stacks footer-text and copyright vertically */
    align-items: center; /* Centers items horizontally */
    gap: 20px; /* Space between main footer sections */
}

.footer-text {
    display: flex;
    justify-content: space-between; /* Pushes left nav and right contacts apart */
    align-items: flex-start; /* Aligns content to the top within this container */
    flex-wrap: wrap; /* Allows sections to wrap on smaller screens */
    width: 100%;
    padding: 0px 35px;
}

/* --- Footer Navigation (Left Column - Make Closer) --- */
.nav-footer {
    /* This class is on the <ul> in your HTML. */
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* CRITICAL: Stacks links vertically */
    gap: 0px; /* CRITICAL: Reduce vertical space BETWEEN links */
    text-align: left; /* Align text to the left */
}

.nav-footer li {
    margin-bottom: 0; /* Ensures no extra margin pushes list items apart */
}

.nav-footer li a { /* Target the <a> links inside .nav-footer */
    display: block; /* Make links take full available width for easier clicking */
    color: #FFFFFF;
    text-decoration: none;
    font-size: 16px; /* CRITICAL: Adjust for desired smaller font size */
    padding: 2px 0; /* CRITICAL: Adjust for LESS VERTICAL PADDING around the text */
    line-height: 1.5; /* CRITICAL: Adjust line height if text still feels too spaced vertically */
    text-align: left;
}

.nav-footer li a:hover {
    color: #1BC6CE;
    background-color: transparent; /* No background on hover */
}

/* --- Footer Contacts Alignment (Right Column - Closer and Aligned with Icons) --- */
.footer-contacts {
    display: flex;
    flex-direction: column; /* Stacks "CONTACTS" title and contact lines vertically */
    align-items: flex-start; /* Align contents to the left within its column */
    gap: 5px; /* Space between "CONTACTS" title and the first contact line */
}

.contact-line:hover {
	color: #1BC6CE;
}

.footer-contacts p { /* Styling for the "CONTACTS" title */
    margin: 0;
    font-weight: bold;
    color: #FFFFFF;
}

/* Style for each individual contact line (icon + text) */
.contact-line {
    display: flex; /* CRITICAL: Makes icon and text align horizontally */
    align-items: center; /* CRITICAL: Vertically center the icon and text */
    gap: 8px; /* Space between the icon and the text */
    color: #FFFFFF; /* Color for the contact text */
    font-size: 16px; /* Adjust font size for contact text */
}

.contact-line img {
    height: 40px; /* Adjust icon size as needed */
    width: auto;
    flex-shrink: 0; /* Prevents icon from shrinking on smaller screens */
}

.contact-line span {
    margin: 0; /* Remove any default span margins */
    padding: 0; /* Remove any default span padding */
}

.copyright {
	text-align: center;
	padding: 5px 20px 10px 10px;
	color: #FFFFFF; /* Example: Lighter color for copyright */
}

/* --- Booking Form Section --- */
.booking-form {
    padding: 60px 0; /* Vertical spacing for the form section */
    display: flex; /* To center the container */
    justify-content: center; /* To center the container */
}

.booking-container {
    background-color: #FFFFFF; /* White background for the form itself */
    max-width: 900px; /* Adjust as needed for overall form width */
    width: 90%; /* Responsive width */
    padding: 40px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); /* Subtle shadow */
    display: flex; /* Use flex to easily center the form content */
    flex-direction: column; /* Stack columns and button vertically */
    align-items: center; /* Center content horizontally within the container */
}

/* --- Form Layout (Two Columns) --- */
.booking-container form {
    display: flex;
    flex-wrap: wrap; /* Allow columns to wrap on smaller screens */
    gap: 40px; /* Space between columns */
    width: 100%; /* Ensure form takes full width of its container */
    justify-content: center; /* Distribute columns */
}

.form-column {
    flex: 1; /* Allow columns to grow and shrink */
    min-width: 300px; /* Minimum width before wrapping */
}

.form-column.left-column {
    padding-right: 20px; /* Space between inputs and service type buttons */
}

.form-column.right-column {
    padding-left: 20px;
}

/* --- Input Field Styling --- */
.form-group {
    margin-bottom: 20px; /* Space between input fields */
}

.form-group label {
    display: block; /* Make label appear on its own line */
    margin-bottom: 8px;
    font-size: 18px;
    color: #333333; /* Darker text for labels */
    font-weight: 600;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #CCCCCC; /* Light grey border */
    font-size: 16px;
    color: #333333; /* Dark text input */
    background-color: #F8F8F8; /* Very light grey background for input fields */
    box-sizing: border-box; /* Include padding and border in element's total width */
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder {
    color: #888888; /* Color for placeholder text */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
    border-color: #1BC6CE; /* Teal border on focus */
    outline: none;
    box-shadow: 0 0 5px rgba(27, 198, 206, 0.3); /* Subtle teal shadow on focus */
}

/* --- Service Type Buttons Styling --- */
.service-title {
    font-size: 18px;
    color: #333333;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: left; /* Aligns with the design */
}

.service-title small {
    font-size: 0.85em;
    font-weight: 400;
    color: #666666;
}

.service-options {
    display: flex;
    flex-direction: column; /* Stack buttons vertically */
    gap: 12px; /* Space between buttons */
}

.service-button {
    background-color: #FFFFFF; /* White background */
    border: 1px solid #000000; /* Black border */
    color: #000000; /* Black text */
    padding: 12px 20px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    width: 100%; /* Make buttons span full width of their container */
    box-sizing: border-box;
}

.service-button.active {
	color: #FFFFFF;
	background-color: #1BC6CE;
}

.service-button:hover {
    background-color: #1BC6CE; /* Teal background on hover */
    color: #FFFFFF; /* White text on hover */
    border-color: #1BC6CE; /* Teal border on hover */
}

/* --- BOOK NOW Button Styling --- */
.booknow-button {
    background-color: #000000; /* Black background */
    color: #FFFFFF; /* White text */
    padding: 15px 40px;
    border: none;
    border-radius: 15px;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    margin-top: 40px; /* Space above the button */
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.booknow-button:hover {
    background-color: #1BC6CE; /* Teal background on hover */
}

.contact-box {
    display: flex; /* CRITICAL: Makes icon and text align horizontally */
    align-items: center; /* CRITICAL: Vertically center the icon and text */
	justify-content: center;
    gap: 8px; /* Space between the icon and the text */
    color: #FFFFFF; /* Color for the contact text */
    font-size: 25px; /* Adjust font size for contact text */
    margin-bottom: 0px; /* Small vertical space between contact lines */
}

.contact-box img {
    height: 60px; /* Adjust icon size as needed */
    width: auto;
    flex-shrink: 0; /* Prevents icon from shrinking on smaller screens */
}

.contact-box span {
    margin: 0; /* Remove any default span margins */
    padding: 0; /* Remove any default span padding */
}

.contact-box span:hover {
	color: #000000;
}

.contact1 {
	display: flex;
	margin: 0;
	padding: 10px 60px;
	background-color: #1BC6CE;
	text-align: center;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
	flex-direction: column;
}

.contact2 {
	display: flex;
	margin: 0;
	padding: 10px 54px;
	background-color: #1BC6CE;
	text-align: center;
	justify-content: center;
	align-items: center;
	border-radius: 30px;
	flex-direction: column;
}

.contact {
    display: flex;
    justify-content: center; /* Centers the two contact blocks horizontally */
    align-items: flex-start; /* Aligns them at the top */
    gap: 60px; /* Space between the two blocks */ /* Adjusted gap slightly */
    flex-wrap: wrap; /* Allow them to wrap on smaller screens */
    /* Ensure this container spans enough width and is centered itself */
    width: 90%; /* Responsive width for the container */
    max-width: 900px; /* Maximum width for the whole contact section */
    margin: 80px auto; /* Top/bottom margin, auto for horizontal centering */
}

h1 {
	font-size: 70px;
	margin: 100px 625px 60px;
	color: #FFFFFF;
	padding: 20px 40px;
	background-color: #1BC6CE;
	text-align: center;
}

h2 {
	text-align: left;
	margin: 35px 35px 15px;
	font-size: 40px;
}

h3 {
	font-size: 35px;
	margin: 10px 60px;
	color: #FFFFFF;
}

#address {
	text-align: left;
	margin: 10px 35px;
	font-size: 35px;
}

.map iframe{
	display: inline-block;
	width: 95.8%;
	height: 75vh;
	margin: 0 35px;
	align-content: center;
}

/* --- RESPONSIVE CONTACT PAGE --- */

@media (max-width: 1024px) {
  .top-bar {
    flex-direction: column;
    align-items: flex-start;
  }

  .navi {
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    font-size: 16px;
  }

  h1 {
    margin: 100px auto 30px;
    font-size: 50px;
    text-align: center;
  }

  .services-booking {
    flex-direction: column;
    align-items: center;
    padding: 0 30px;
  }

  .service-column {
    width: 100%;
    margin-bottom: 30px;
  }

  .contact-form-container {
    width: 100%;
    padding: 20px;
  }

  .form-field input,
  .form-field textarea {
    width: 100%;
  }

  .contact-row {
    flex-direction: column;
    gap: 20px;
  }

  .contact1,
  .contact2 {
    width: 100%;
    padding: 20px;
  }

  .map iframe {
    height: 300px;
  }

  .footer-text {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }

  .nav-footer,
  .footer-contacts {
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 768px) {
  #logo {
    width: 160px;
    margin: 20px 0;
  }

  .booknow-button {
    font-size: 16px;
    padding: 10px 25px;
  }

  h1 {
    font-size: 36px;
    margin-top: 80px;
  }

  .service-button {
    font-size: 14px;
    padding: 8px 15px;
  }

  .map iframe {
    height: 250px;
  }

  .contact-box a {
    font-size: 20px;
  }
	
  .top-bar {
    display: none;
  }
	
}