/* ==================================================
A & S Taxi V2
Main Stylesheet
Author: CodeBreeze Solutions LLC
================================================== */

/* ==================================================
COLORS
================================================== */

:root {
--primary-color: #0F3D6E;
--accent-color: #F4C542;
--light-bg: #F8F9FA;
--white: #FFFFFF;
--text-color: #222222;
}

/* ==================================================
GLOBAL RESET
================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  }

html,
body {
width: 100%;
overflow-x: hidden;
}

body {
font-family: Arial, sans-serif;
background: var(--light-bg);
color: var(--text-color);
line-height: 1.6;
}

/* ==================================================
LAYOUT
================================================== */

.container {
width: 90%;
max-width: 1200px;
margin: 0 auto;
}

/* ==================================================
HEADER
================================================== */

header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;

    z-index: 1000;

    background: var(--white);

    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

body {
    padding-top: 85px;
}

.nav-container {
display: flex;
justify-content: space-between;
align-items: center;
min-height: 85px;
}

.logo img {
height: 70px;
display: block;
}

nav {
display: flex;
align-items: center;
gap: 25px;
}

nav a {
text-decoration: none;
color: var(--primary-color);
font-weight: 700;
}

.call-btn {
background: var(--accent-color);
color: var(--primary-color);
padding: 12px 20px;
border-radius: 8px;
text-decoration: none;
}

/* ==================================================
HERO
================================================== */

.hero {
background:
linear-gradient(
rgba(15,61,110,.55),
rgba(15,61,110,.75)
),
url('taxi-hero.jpg');


background-size: cover;
background-position: center;

color: var(--white);
text-align: center;

padding: 90px 20px;


}

.hero h1 {
font-size: 3rem;
margin-bottom: 15px;
}

.hero-tagline {
color: var(--accent-color);
font-size: 1.75rem;
font-weight: 700;
margin-bottom: 20px;
}

.hero-description {
max-width: 700px;
margin: 0 auto 30px;
}

/* ==================================================
BUTTONS
================================================== */

.hero-buttons {
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
}

.btn-primary {
background: var(--accent-color);
color: var(--primary-color);
padding: 14px 28px;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
}

.btn-secondary {
border: 2px solid var(--white);
color: var(--white);
padding: 14px 28px;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
}

/* ==================================================
SECTIONS
================================================== */

.section {
padding: 60px 20px;
text-align: center;
}

.section h2 {
color: var(--primary-color);
margin-bottom: 30px;
}

/* ==================================================
PHOTOS
================================================== */

.taxi-photo {
width: 100%;
max-width: 500px;
display: block;
margin: 30px auto;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* ==================================================
SERVICES
================================================== */

.services-grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
}

.service-card {
background: var(--white);
border-left: 5px solid var(--accent-color);
padding: 20px;
border-radius: 10px;
}

/* ==================================================
REVIEWS
================================================== */

.review-grid {
display: grid;
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 30px;
}

.review-card {
background: var(--white);
padding: 20px;
border-radius: 10px;
}

.review-button {
background: var(--primary-color);
color: var(--white);
text-decoration: none;
padding: 14px 24px;
border-radius: 8px;
}

/* ==================================================
CONTACT FORM
================================================== */

.contact-form {
max-width: 700px;
margin: auto;
}

.contact-form input,
.contact-form textarea {
width: 100%;
padding: 14px;
margin-bottom: 15px;
border: 1px solid #ccc;
border-radius: 8px;
}

.contact-form button {
width: 100%;
background: var(--accent-color);
color: var(--primary-color);
border: none;
padding: 14px;
border-radius: 8px;
font-weight: 700;
cursor: pointer;
}

.success-message {
    background: #d4edda;
    color: #155724;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-weight: 600;
}

.error-message {
    background: #f8d7da;
    color: #721c24;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-weight: 600;
}


/* ==================================================
FOOTER
================================================== */

footer {
background: var(--primary-color);
color: var(--white);
text-align: center;
padding: 30px;
}

footer a {
    color: var(--accent-color);
    text-decoration: none;
}

footer p {
    margin-bottom: 10px;
}

footer .call-btn {
    display: inline-block;
    min-width: 180px;
    margin: 15px 0;
    text-align: center;
}


/* ==================================================
TABLET / DESKTOP
================================================== */

@media (min-width: 768px) {


.services-grid,
.review-grid {
    grid-template-columns: repeat(2, 1fr);
}


}

/* ==================================================
MOBILE
================================================== */

@media (max-width: 768px) {


.nav-container {
    flex-direction: column;
    gap: 10px;
    padding: 15px 0;
}

nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

nav a {
    font-size: 0.85rem;
}

.hero h1 {
    font-size: 2rem;
}

.hero-tagline {
    font-size: 1.25rem;
}

.logo img {
    height: 60px;
}

}
