﻿/* Style for large screens */
@media (min-width: 769px) {

	/* HEADER */
	header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 5px 10px;
		/* Further reduce padding */
		background: white;
		border-bottom: 5px solid transparent;
		background-image: linear-gradient(to right, #003366, #66ccff);
		background-clip: padding-box;
		position: relative;
		height: 65px;
		/* Adjust height */
	}

	/* Left container (Logo) */
	.header-left {
		display: flex;
		align-items: center;
		gap: 5px;
		/* Reduce space between logo and menu */
	}

	/* Right container (Social Media + Button) */
	.header-right {
		display: flex;
		align-items: center;
		gap: 8px;
		/* Decrease space between social media and button */
		margin-right: 5px;
		/* Bring the button closer */
	}


	/* =======================
 MENÚ PRINCIPAL Y SUBMENÚ (DESKTOP)
 ======================= */
	.nav-links {
		display: flex;
		list-style: none;
		padding: 0;
		margin: 0 auto;
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		max-width: 100%;
		gap: 8px;
		/* More compact spacing */
	}

	/* Apply the same padding in all states to avoid movement */
	.nav-links li a,
	.nav-links li a.active {
		font-size: 1em;
		text-decoration: none;
		color: white;
		font-weight: bold;
		padding: 6px 8px;
		/* SAME PADDING IN ALL STATES */
		display: flex;
		align-items: center;
		justify-content: left;
		transition: all 0.3s ease-in-out;
		/* Smooth transition for changes */
	}

	/* Style when the link is active */
	.nav-links a.active {
		background-color: #003366;
		/* Darker background */
		border-radius: 5px;
	}

	/* Hover effect on the main menu */
	.nav-links li a:hover {
		color: #66ccff !important;
	}

	/* Submenu */

	.has-submenu {
		position: relative;
	}

	.has-submenu>a {
		position: relative;
		padding-right: 15px;
	}

	.submenu {
		display: none;
		position: absolute;
		left: 0;
		top: 100%;
		background: rgba(255, 255, 255, 0.95);
		/* White with a bit of transparency */
		list-style: none;
		padding: 12px 0;
		width: 280px;
		/* A bit wider for a more elegant look */
		box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.15);
		/* Softer shadow */
		border-radius: 8px;
		/* Rounded borders */
		z-index: 1000;
	}


	/* Show the submenu on mouse hover */
	.has-submenu:hover .submenu {
		display: block;
	}

	/* Style for submenu links */
	.submenu li {
		padding: 6px 8px;
		white-space: nowrap;
	}

	.submenu li a {
		text-decoration: none;
		color: #003366;
		padding: 6px 8px;
		/* Adjust the padding to have the same thickness */
		display: flex;
		align-items: center;
		justify-content: left;
		width: 100%;
		box-sizing: border-box;
		font-size: 1em;
		font-weight: bold;
		transition: background 0.3s ease, color 0.3s ease;
	}


	.submenu li a:hover {
		background: #66ccff !important;
		color: white !important;
		padding: 6px 8px;
		/* Adjust the padding to have the same thickness */
		display: flex;
		align-items: center;
		justify-content: left;
		width: 100%;
		box-sizing: border-box;
		font-size: 1em;
		font-weight: bold;
	}

	/* BUTTON "Request a Quote" */
	.cta {
		background: linear-gradient(to right, #003366, #66ccff);
		color: white !important;
		padding: 5px 10px;
		/* Fine-tune the size */
		text-decoration: none;
		border-radius: 5px;
		font-size: 1em;
		font-weight: bold;
		border: none;
		transition: background 0.3s ease;
		white-space: nowrap;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 130px;
		/* Reduce minimum size */
		height: 32px;
		/* Adjust button height */
	}

	.cta:hover {
		background: linear-gradient(to right, #66ccff, #003366);
	}

	.intro-text {
		text-align: center;
		color: white !important;
		/* Force white color */
		padding: 50px 20px;
		background-size: cover;
		background-position: center;
	}

	/* Specify white color for elements within .intro-text */
	.intro-text h1,
	.intro-text h2,
	.intro-text p {
		color: white !important;
		/* Ensure the color is white */
	}


	/* SERVICES */

	.services-wrapper {
		max-width: 100%;
	}
	.service-cards5 {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 20px;
		width: 100%;
		margin-top: 40px; /* Increase space between card rows */
	}
	.service-cards4 {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
		width: 100%;
		margin-top: 40px; /* Increase space between card rows */
	}
	.service-cards3 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		width: 100%;
		margin-top: 40px; /* Increase space between card rows */
	}
	.service-card {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%;
		padding: 20px;
		padding-bottom: 20px;
		background-color: #fff;
		border-radius: 10px;
		box-shadow: 0 1px 5px rgba(0,0,0,0.1);
		text-align: center;
		position: relative;
		overflow: hidden;
		border: 1px solid #e0e0e0;
	}

		.service-card h3 {
			margin-top: 15px;
		}

		.service-card p {
			flex-grow: 1;
			margin-bottom: 10px; /* ↓ Antes estaba en 20px */
			font-size: 0.95rem;
			line-height: 1.4;
		}

		.service-card .button-primary {
			margin-top: 10px; /* ↓ Puedes incluso usar 8px si quieres más compacto */
			margin-bottom: 5px;
		}



	/* TEXT SECTION WITH IMAGE */
	.text-image-container {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 40px;
		max-width: 1200px;
		margin: 0 auto;
		padding: 20px;
	}

	.text-image-container img {
		max-width: 50%;
		height: auto;
		border-radius: 8px;
	}

	/* PROJECTS */
	.project-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
		margin: 0 auto;
		width: 90%;
	}

	.project-card {
		margin-bottom: 20px;
		background-color: #fff;
		border: 1px solid #ccc;
		border-radius: 8px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
		padding: 15px;
		transition: box-shadow 0.3s ease;
	}

	/* ALTERNATIVE LAYOUT */
	.section-alternate {
		display: flex;
		flex-wrap: wrap;
		padding: 10px 20px;
		max-width: 90%;
		margin: 0 auto;
	}

	/* TEAM AND WHY CHOOSE US */
	.our-team img,
	.why-choose-us img {
		max-width: 50%;
		margin: 0;
	}

	.our-team p,
	.why-choose-us p {
		flex: 1;
		text-align: justify;
	}

	/* FOOTER */
	footer {
		background: #222;
		padding: 20px 10px;
		text-align: center;
		border-bottom: 5px solid transparent;
		background-image: linear-gradient(to right, #003366, #66ccff);
		background-clip: padding-box;
	}

	footer .footer-content {
		display: flex;
		justify-content: space-around;
		align-items: center;
		max-width: 1400px;
		margin: 0 auto;
		gap: 20px;
	}

	/* CONTACT FORM */
	.contact-form-wrapper {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: stretch;
		max-width: 1200px;
		margin: 0 auto;
	}

	.contact-form {
		flex: 1;
		margin-right: 20px;
		max-width: 50%;
	}

	.contact-form h2 {
		margin-top: 0;
		font-size: 1.5em;
	}

	.contact-form-image {
		flex: 1;
		max-height: 650px;
		width: auto;
		object-fit: cover;
		border-radius: 8px;
	}

	/*=======================FOOTER STYLES=======================*/

	.footer {
		background: linear-gradient(to right, #003366, #66ccff);
		padding: 20px 10px;
		text-align: center;
		color: white;
	}

	.footer-bottom {
		display: flex;
		justify-content: space-evenly;
		/* Ensure equal space between the 3 columns */
		align-items: flex-start;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		gap: 20px;
		/* Spacing between columns */
	}

	.footer-left {
		width: 33%;
		max-width: none;
		text-align: center;
		display: flex;
		flex-direction: column;
		/* Ensure elements are arranged in a column */
		align-items: center;
		/* Center elements */
		justify-content: center;
		/* Center vertically */
	}

	/* Footer menu */
	.footer-links {
		display: flex;
		flex-direction: column;
		gap: 8px;
		align-items: center;
		margin-bottom: 20px;
		text-align: center;
	}

	.footer-row {
		display: flex;
		flex-wrap: wrap;
		gap: 12px 20px;
		justify-content: center;
	}

		.footer-row a {
			color: white !important;
			text-decoration: none;
			font-size: 1em;
			font-weight: normal;
		}

			.footer-row a:hover {
				color: #66ccff !important;
			}

	/* Social media in the footer */
	.social-media {
		display: flex;
		gap: 12px;
		justify-content: center;
		margin-top: 10px;
	}

	.social-media a {
		text-decoration: none;
	}

	.social-media a i {
		font-size: 1.5em;
		color: white;
		transition: transform 0.3s ease, color 0.3s ease;
	}

	.social-media a i:hover {
		transform: scale(1.2);
		color: #66ccff;
	}

	.social-media-h a i {
		font-size: 1.5em;
		color: white;
		transition: transform 0.3s ease, color 0.3s ease;
	}

	.social-media-h a i:hover {
		transform: scale(1.2);
		color: #66ccff;
	}

	/* Office container */
	.offices-container {
		width: 66%;
		max-width: 66%;
		display: flex;
		gap: 20px;
	}


	.office {
		flex: 1;
		/* Make each occupy half of the available space */
		max-width: 50%;
		background-color: white;
		padding: 20px;
		border-radius: 8px;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
		text-align: left;
		color: black;
	}

	.office h3 {
		font-size: 1.2em;
		margin-bottom: 10px;
	}

	.office p {
		margin: 5px 0;
	}

	

	.office a:hover {
		color: #ffcc00;
	}
	.social-media-h a {
		flex: 0 0 50%;
		/* Each link occupies 50% of the container width on mobile */
		text-align: center;
		/* Center the content within each link */
		padding: 10px;
		/* Spacing around icons */
		box-sizing: border-box;
		/* Include padding in the total width */
	}

	.social-media-h a {
		flex: 0 0 auto;
		/* Allow links to occupy only the necessary space */
	}


}
@media (min-width: 769px) and (max-width: 1365px) {
    .social-media-h a {
        flex: 0 0 50%;
        text-align: center;
        padding: 0px;
        box-sizing: border-box;
    }
}