/* Reset & Base */
body {
  margin: 0;
  font-family: "Segoe UI", Roboto, sans-serif;
  /* Changed: Subtle vertical gradient for the main background */
  background: linear-gradient(to bottom, #161825, #1A1D2D);
  color: #eaeaea;
  
  /* These lines force the footer to the bottom */
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* 100% of the viewport height */
}

h1, h2, h3 {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Header */
.site-header {
  background: #f4f4f4;
  border-bottom: 1px solid #cccccc;
  
  /* FLEXBOX SETTINGS - This puts items on left and right */
  display: flex; 
  justify-content: space-between; /* Pushes logo left, contact right */
  align-items: center;            /* Vertically centers them */
  
  /* Updated Padding: Balanced on left and right */
  padding: 1rem 4% 1rem 15%; 
}

/* --- NEW RIGHT SIDE STYLES --- */

/* The container for Phone + Facebook */
.header-right {
  display: flex;
  align-items: center; /* Vertically centers the phone text with the icon */
  gap: 20px;           /* Space between the phone number and the FB icon */
}

.phone-box {
  text-align: right; /* Aligns the 'Call Us' text */
  line-height: 1.2;
}

.call-text {
  display: block; /* Forces 'Call Us' to its own line above number (optional) */
  font-size: 0.85rem;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.phone-number {
  font-weight: bold;
  font-size: 1.2rem;
  color: #333;
  text-decoration: none;
  transition: color 0.2s ease;
}

.social-link img {
  width: 32px; /* Size of the Facebook icon */
  height: auto;
  transition: transform 0.2s ease;
  display: block; /* Removes extra spacing under image */
}

.social-link img:hover {
  transform: scale(1.1); /* Slight pop effect on hover */
}

.sidebar-box .social-link img {
  margin: 0 auto;    /* This forces the block element to the center */
  display: block;    /* Ensures it respects the margin */
  width: 40px;       /* Optional: Makes it slightly larger than the header icon */
}

/* Responsive Tweak: Stack them on very small mobile screens */
@media (max-width: 600px) {
  .site-header {
    flex-direction: column;
    padding: 1rem;
    gap: 1rem;
  }
  
  .header-right {
    width: 100%;
    justify-content: center;
  }
  
  .phone-box {
    text-align: center;
  }
}

.logo-area {
  display: flex;
  flex-wrap: wrap; /* This is the key: allows items to wrap to the next line */
  align-items: center; /* Vertically aligns the H1 and Logo */
  gap: 0 1rem; /* 0 gap between rows, 1rem gap between items on the same row */
  justify-content: flex-start; /* Keeps it aligned left */
}

.logo-area h1 {
  color: #CC0000; /* Keeps color */
  font-size: 3.25rem;  /* This makes it larger */
  font-weight: 500; /* This makes it thinner (500 is "Medium") */
  transform: scaleX(1.25); /* This stretches it wider */
  transform-origin: left;
}

.logo {
  height: 70px;
  width: auto;
  position: relative; /* This allows us to "nudge" the element */
  top: 5px;           /* This moves it 5 pixels down */
  left: 20px;
}

.slogan {
  font-style: italic;
  font-size: -.5rem;
  color: #555555;
  margin-top: -0.5rem; /* Pulls it up */
  flex-basis: 100%; /* This forces the slogan to a new line */
}

/* Navigation */
.navbar {
  display: flex;
  justify-content: center;
  background: #11131f;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  gap: 2rem;
  padding: 0.8rem;
  
  /* Sticky Navbar */
  position: sticky; /* Makes the bar stick */
  top: 0;           /* Sticks it to the very top of the screen */
  z-index: 100;       /* Ensures it stays on top of all other content */
}

.navbar a {
  color: #fff;
  transition: color 0.3s ease;
}

.navbar a:hover {
  color: #CC0000;
}

/* Hero */
.hero {
  text-align: center;
  padding: 4rem;
  background: linear-gradient(to bottom, #B2EBF2, #80DEEA);
  position: relative; 
}

.hero h2 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #CC0000;
}

/* Footer */
footer {
  text-align: center;
  padding: 1rem;
  /* Changed: Subtle diagonal gradient */
  background: linear-gradient(135deg, #303450, #2A2E45);
  color: #aaa;
  font-size: 0.9rem;
  border-top: 1px solid #3B3F5A; /* Added: Subtle border */
}
/* --- Dropdown Menu Styles --- */

/* The container that holds the "Services" or "Equipment" link */
.dropdown {
  position: relative; /* This is what the dropdown-content positions itself against */
  display: inline-block; /* Keeps it in line with "Home" and "Contact" */
}

/* The "Services" and "Equipment" links themselves */
.dropdown .dropbtn {
  /* It already gets all the styles from ".navbar a", which is perfect */
  cursor: pointer;
}

/* The hidden box that holds the dropdown links */
.dropdown-content {
  display: none; /* Hidden by default */
  position: absolute; /* Positions it right below the "Services" link */
  background-color: #f4f4f4; /* Matches your new off-white header */
  min-width: 180px; /* Gives the dropdown some width */
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); /* Nice shadow for depth */
  z-index: 1; /* Ensures it appears on top of other content */
  border-radius: 0 0 6px 6px; /* Rounds the bottom corners */
}

/* The links inside the dropdown box */
.dropdown-content a {
  color: #333; /* Dark text for the light background */
  padding: 12px 16px;
  text-decoration: none;
  display: block; /* Makes them stack vertically */
  text-align: left; /* Aligns text to the left */
  transition: background-color 0.3s ease;
}

/* The hover effect for links *inside* the dropdown */
.dropdown-content a:hover {
  background-color: #ddd; /* Light gray hover */
  color: #CC0000; /* Dark teal accent, just like hero h2 */
}

/* The magic: When you hover the .dropdown container... */
.dropdown:hover .dropdown-content {
  display: block; /* ...it shows the hidden .dropdown-content */
}

/* --- Carousel Styles --- */

.carousel {
  position: relative;
  max-width: 750px; /* This sets the width of the white box */
  margin: 0 auto; /* This centers the white box */
}

/* This is the "white box" */
.slide {
  display: none; /* Hide all slides by default */
  background: #ffffff;
  color: #333; /* Dark text on the white background */
  padding: 4rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  /* Text styles */
  text-align: center;
  font-size: 1.1rem;
  
  min-height: 165px; /* Forces the box to be tall enough for the button slide */
  
  /* These lines vertically center the text inside that fixed height */
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
}

/* This class controls which slide is visible */
.slide.active {
  display: flex;
}

.slide h3 {
  color: #004D40; /* Uses the dark teal from your hero text */
  margin-top: 0;
  margin-bottom: 1rem;
}

/* This styles the arrows */
.carousel-arrow {
  position: absolute;
  top: 50%; /* Puts the arrow halfway down */
  transform: translateY(-50%); /* Moves it up to be perfectly centered */
  
  /* Appearance */
  background: transparent;
  border: none;
  font-size: 3rem; /* Makes the arrow character bigger */
  color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
  cursor: pointer;
  z-index: 10;
  transition: color 0.2s ease;
  outline: none;
}

.carousel-arrow:hover {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.8);
}

/* Positions the left and right arrows */
.arrow-left {
  left: -50px; /* Adjust as needed */
}

.arrow-right {
  right: -50px; /* Adjust as needed */
}

/* --- Main Content --- */
.main-content {
  background-color: #ffffff; /* White background for this area */
  color: #333; /* Dark text */
  padding: 3rem 2rem;
  flex: 1;
}

.content-row {
  display: flex;
  flex-wrap: wrap; /* Allows stacking on small screens */
  align-items: center;
  gap: 2.5rem;
  max-width: 1100px;
  margin: 0 auto 3rem auto; /* Center the row and add space below */
}

/* This reverses the order for the second row */
.content-row.row-reverse {
  flex-direction: row-reverse;
}

.content-image {
  flex: 1; /* Each takes up 50% */
  min-width: 300px;
}

.content-text {
  flex: 1; /* Each takes up 50% */
  min-width: 300px;
}

.content-image img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.content-text h2 {
  font-size: 1.6rem;
  color: #CC0000; /* Your red accent color */
  margin-bottom: 1rem;
}

.content-text p {
  font-size: 1.1rem;
  line-height: 1.7;
  margin-bottom: 1rem;
}

/* --- Contact Info Grid --- */
.contact-info-grid {
  display: grid;
  /* Creates 3 columns, but lets them stack on small screens */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  padding: 3rem 2rem;
  background-color: #f4f4f4; /* Light gray background */
  color: #333;
}

.info-block {
  background: #ffffff;
  padding: 2.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  text-align: center;
}

.info-block h3 {
  font-size: 1.5rem;
  color: #004D40; /* Your dark teal accent color */
  margin-bottom: 1.5rem;
}

.info-block p {
  font-size: 1.1rem;
  line-height: 1.6;
  margin: 0.5rem 0;
}

.map-link {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.6rem 1.2rem;
  background-color: #CC0000;
  color: #ffffff;
  text-decoration: none;
  border-radius: 6px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.map-link:hover {
  background-color: #a70000;
}

/* --- Separation Bar --- */
.separation-bar {
  /* Copies the color and shadow from the navbar */
  background: #11131f; 
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  
  /* Copies the top/bottom padding from navbar to get the same height */
  padding: 0.8rem 0; 
}

/* --- Info Block Icons --- */
.info-icon {
  width: 60px;
  height: 60px;
  margin-bottom: 1.5rem; /* Adds space between icon and heading */
}

section {
  scroll-margin-top: 100px; /* Adjust this number based on how tall your navbar is */
}

/* --- Contact Page Specific Styles --- */

/* This creates the 2-column layout from your drawing */
.contact-page-container {
  display: grid;
  grid-template-columns: 2fr 1fr; /* Left side is 2x wider than right side */
  gap: 3rem;
  max-width: 1100px;
  margin: 0 auto;
}

/* Styles for the Left Side */
.contact-main h1, .contact-main h2 {
  color: #CC0000;
  margin-bottom: 1rem;
}

.contact-details {
  margin-bottom: 2.5rem;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Styles for the Right Side (Sidebar) */
.contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.sidebar-box {
  background: #f9f9f9;
  border: 1px solid #ddd;
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.sidebar-box h3 {
  color: #004D40;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}

.quote-btn {
  display: inline-block;
  background: #CC0000;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: bold;
  transition: background 0.3s;
}

.quote-btn:hover {
  background: #a70000;
}

/* Styles for the Form inputs on the White Background */
.page-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.page-form label {
  font-weight: 600;
  margin-bottom: -0.5rem; /* Pulls label closer to input */
  color: #333;
}

.page-form input, 
.page-form textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box; /* Ensures padding doesn't break width */
}

.page-form button {
  background-color: #004D40;
  color: white;
  border: none;
  padding: 12px;
  font-size: 1.1rem;
  border-radius: 5px;
  cursor: pointer;
  margin-top: 1rem;
}

.page-form button:hover {
  background-color: #00352c;
}

/* Map Section */
.map-section {
  margin-top: 4rem;
  width: 100%;
  height: 400px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Responsive: Stack them on mobile */
@media (max-width: 768px) {
  .contact-page-container {
    grid-template-columns: 1fr; /* Stack vertically */
  }
}

/* --- Thank You Page Specific Styles --- */

.thank-you-message {
    /* Use a light color to override the body's background gradient */
    background-color: #f4f4f4; 
    color: #1A1D2D;
    
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 20px; /* Use the spacing from your previous inline style */
    text-align: center;
}

.thank-you-message h2 {
    font-size: 2.5rem;
    color: #004D40; /* Dark Teal */
    margin-bottom: 20px;
}

.thank-you-message p {
    font-size: 1.1rem;
    max-width: 800px;
    margin: 0 auto 30px;
}

.thank-you-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
}

/* Custom button styles to match the original inline colors */
/* We use both classes for strong specificity, avoiding !important where possible */
.quote-btn.button-red {
    background: #CC0000;
    padding: 12px 25px;
}

.quote-btn.button-dark {
    background: #1A1D2D;
    padding: 12px 25px;
}

.quote-btn.button-red:hover {
    background: #a70000;
}

.quote-btn.button-dark:hover {
    background: #0b0d16;
}

.call-to-action {
    margin-top: 30px;
    color: #666;
}

/* --- Page Link Buttons --- */

.page-links-section {
  text-align: center;
  padding: 3rem 0 2rem 0; /* Add space above and below the buttons */
  background: #ffffff; /* Keep it on the same white background as main-content */
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem; /* Space between the buttons */
  flex-wrap: wrap; /* Allows buttons to stack on mobile */
}

/* Base button style */
.btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 1.1rem;
  font-weight: bold;
  color: #ffffff;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
}

/* Red button style (matches .map-link) */
.btn-red {
  background-color: #CC0000;
}

.btn-red:hover {
  background-color: #a70000; /* Darker red on hover */
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Blue button style (Facebook) */
.btn-blue {
  background-color: #1877F2; /* Official Facebook blue */
}

.btn-blue:hover {
  background-color: #166fe5; /* Slightly darker blue on hover */
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}