/* Estilos básicos para el sitio Vanguard Auto Solution */
:root{
  --accent:#e53935;
  --bg:#f7f7f7;
  --text:#222;
  --muted:#666;
  --header-bg:#000000;
  --header-text:#ffffff;
  --header-muted:#cfcfcf;
  --footer-bg:#000000;
}
*{box-sizing:border-box}
body{
  font-family:Inter, system-ui, Arial, sans-serif; 
  margin:0; 
  color:var(--text); 
  background:var(--bg); 
  overflow-x: auto; /* Previene el scroll horizontal no deseado */
  overflow-y: auto;
}
.container{max-width:1000px;margin:0 auto;padding:20px}
main.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* --- Header Styles --- */
.site-header {
    background: rgba(0, 0, 0, 0.5); /* Black with 50% transparency */
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    position: fixed; /* Always visible floating header */
    top: 0;
    width: 100%;
    z-index: 60;
}

/* Make header full-width and add padding */
.site-header .container {
    max-width: 100%;
    padding: 0 20px;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Ensures space between items */
}

.hdr-section {
    display: flex;
    align-items: center;
    flex: 1; /* Symmetrical distribution: each section takes 1/3 of the space */
}

/* Align content within each of the 3 sections */
.hdr-logo {
    justify-content: center; /* flex-start Aligns logo to the left */
}

.hdr-menu {
    justify-content: center; /* Aligns menu to the center */
}

.hdr-social {
    justify-content: flex-end; /* Aligns social icons to the right */
}

.logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--header-text)}
.logo-img{height:72px;width:auto}
.logo-text{font-weight:700;color:var(--header-text)}
.main-nav{position:relative}
/* Increase gap between menu items */
.menu-list{list-style:none;margin:0;padding:0;display:flex;gap:20px;align-items:center}
.menu-list>li{position:relative}
/* Prevent menu items from wrapping */
.menu-list a,
.menu-list button {
    background: none;
    border: 0;
    color: var(--header-text);
    padding: 10px 6px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    white-space: nowrap; /* Ensures text stays on a single line */
}
.menu-list a:hover,.menu-list button:hover{color:var(--accent)}
.has-submenu .submenu{position:absolute;left:0;top:100%;background:#111;border:1px solid rgba(255,255,255,0.06);min-width:220px;padding:8px;display:none;box-shadow:0 6px 18px rgba(0,0,0,0.5)}

/* Show submenu on hover */
.has-submenu:hover > .submenu {
    display: block;
}

.has-submenu .submenu li{display:block}
.has-submenu .submenu a{display:block;padding:8px 10px;color:var(--header-text)}
.has-submenu .submenu a:hover{color:var(--accent)}
.has-submenu .submenu-toggle[aria-expanded="true"]{color:var(--accent)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle .burger{width:22px;height:2px;background:var(--header-text);display:block;position:relative}
.nav-toggle .burger::after,.nav-toggle .burger::before{content:'''';position:absolute;left:0;right:0;height:2px;background:var(--header-text)}
.nav-toggle .burger::before{top:-7px}
.nav-toggle .burger::after{top:7px}
.site-footer{background:var(--footer-bg);border-top:1px solid rgba(255,255,255,0.06);margin-top:40px;padding:24px 16px}
.footer-inner{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;color:var(--header-text)}
.ftr-section{flex:1;color:var(--header-text);display:flex;flex-direction:column;align-items:center;text-align:center}
.ftr-logo .logo-img{height:72px}
.ftr-hours{max-width:420px;color:var(--header-muted)}
.ftr-social .social-link{display:inline-block;margin-right:8px;color:var(--header-text)}
.hero{padding:40px 0;text-align:center}
.btn{background:var(--accent);color:#fff;padding:10px 16px;border-radius:6px;text-decoration:none}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}
.contact-form label{display:block;margin-bottom:12px}
.contact-form input,.contact-form textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}
.contact-form button{background:var(--accent);color:#fff;padding:10px 16px;border:0;border-radius:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.card{background:#fff;border:1px solid #eee;padding:24px;text-align:center}

.two-column-layout {
    display: flex;
    gap: 40px;
}

@media (max-width:900px){
  .container{padding:12px}
  .menu-list{gap:8px}
  .nav-toggle{display:block}
  .menu-list{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,0.98);flex-direction:column;justify-content:center;align-items:center;gap:16px;transform:translateY(-100%);transition:transform .28s ease}
  .menu-list.open{transform:translateY(0)}
  .has-submenu .submenu{position:static;border:none;box-shadow:none;padding-left:16px}
  .menu-list a,.menu-list button{font-size:12px}

  /* On smaller screens, revert to default flex behavior */
  .hdr-section { flex: 0 1 auto; }
  .hdr-menu { justify-content: flex-end; } /* Move hamburger to the right */
  .hdr-social { display: none; } /* Hide social icons on mobile to save space */
}

@media (max-width:768px){
  .two-column-layout, .about-us-card, .content-container {
    flex-direction: column;
  }
}

@media (max-width:480px){
  .logo-text{display:none}
  .logo-img{height:30px}
  .footer-inner{flex-direction:column;align-items:center;text-align:center}
}


  /* En mobile reordenamos para que el logo no esté demasiado lejos del centro */
  .hdr-social{position:relative;right:8px}
  .hdr-logo{justify-content:flex-start;padding-left:12px}

/* Social icon sizing and spacing */
.social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    margin-left: 6px;
    color: var(--header-text);
}

/* Style for minimalist (outline) social icons */
.social-link svg {
    width: 20px;
    height: 20px;
    fill: none; /* Icons are outline-only */
    stroke: currentColor; /* Outline color inherits from parent link */
    stroke-width: 2.5px; /* Increase icon thickness */
}

  /* Overlay used to capture clicks outside nav/submenu */
  .nav-overlay{position:fixed;left:0;top:0;right:0;bottom:0;background:transparent;z-index:55}

/* --- Home Page Extra Sections --- */

/* Services Promo Section */
.services-promo-section {
    position: relative;
    padding: 100px 20px;
    background-image: url("../images/vanguard-luxury-parts.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    color: #ffffff;
}

.services-promo-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6); /* Dark overlay to make text pop */
    z-index: 1;
}

.services-promo-content {
    position: relative;
    z-index: 2;
}

.services-promo-title {
    font-family: 'Oswald', sans-serif;
    font-size: 50px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 10px;
}

.services-promo-legend {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 400;
    max-width: 600px;
    margin: 0 auto;
    color: #f0f0f0;
}

/* About Us Intro Section */
.about-us-intro-section {
    padding: 60px 20px;
    background-color: var(--bg);
}

.about-us-card {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.about-us-image-placeholder {
    flex: 1;
    min-height: 300px;
    background-image: url("../images/Carri_Vanguard_1.png");
    background-size: cover;
    background-position: center;
}

.about-us-text-content {
    flex: 1;
    padding: 20px 40px; /* More padding */
}

.about-us-text-content h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 32px;
    margin-top: 0;
    color: var(--text);
}

.about-us-text-content p {
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--muted);
}

/* Gallery Carousel Section */
.gallery-section {
    padding: 60px 0;
    background-color: #fff;
}

.gallery-title,
.gallery-subtitle {
    text-align: center;
}

.gallery-title {
    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0 0 10px;
    color: var(--text);
}

.gallery-subtitle {
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    font-weight: 400;
    max-width: 600px;
    margin: 0 auto 40px;
    color: var(--muted);
}

.gallery-carousel {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 20px; /* Provides spacing so shadows aren't cut off */
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
}

.gallery-carousel::-webkit-scrollbar {
    display: none; /* For Chrome, Safari, and Opera */
}

.gallery-item {
    flex: 0 0 400px; /* Wider cards */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.gallery-item img {
    width: 100%;
    height: 220px; /* Shorter, more rectangular height */
    object-fit: cover; /* Prevents image distortion */
    display: block;
}


/* Responsive adjustments */
@media (max-width: 768px) {
    .about-us-card, .content-container {
        flex-direction: column;
    }
    
    .about-us-image-placeholder {
        width: 100%;
        height: 250px;
    }

    .services-promo-title {
      font-size: 40px;
    }

    .services-promo-legend {
      font-size: 18px;
    }

    .about-us-text-content {
      padding: 30px 20px;
    }

    .gallery-item {
        flex-basis: 320px; /* Adjust mobile width */
    }

    .gallery-title {
        font-size: 32px;
    }

    .gallery-subtitle {
        font-size: 16px;
    }
}
