.menu-icon, 
.mobile-menu {display: none !important;}
body {margin: 0;font-family: sans-serif;padding-top: 0px;}
/* --- CONFIGURACIÓN DEL HEADER --- */
.main-header {position: fixed;top: 0;left: 0;width: 100%;z-index: 10;transition: all 0.4s ease;}
.top-bar {background-color: #699A00;color: white;padding: 4px 50px;display: flex;justify-content: space-between;align-items: center; min-height: 40px;}
.button-group {display: flex !important;align-items: center !important;justify-content: flex-end !important;gap: 5px !important; }
.top-social-links {display: flex;align-items: center !important;gap: 8px;margin-left: 900px !important;}
.top-social-icon {height: 25px;width: auto;transition: transform 0.3s ease;display: block;}
.top-social-icon:hover {transform: scale(1.15);}
.contact-info {display: flex;align-items: center;gap: 25px;}
.location-section, 
.phone-section {display: flex;align-items: center;gap: 8px;}
.contact-info img.icon {height: 25px;width: auto;margin: 0;}
.location-section p, 
.phone-number { font-size: 1.0em; margin: 0; white-space: nowrap; align-items: baseline;}
.language-text { font-size: 0.8em; margin-left: 5px;display: inline;font-weight: normal;}
.button-link {background-color: white;color: #699A00;text-decoration: none;font-weight: bold;padding: 10px 25px;border-radius: 50px;text-transform: uppercase;transition: all 0.3s ease;}
.button-link:hover {transform: scale(1.10);box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);background-color: #f9f9f9;}
.button-link:active {transform: translateY(0px) scale(0.98) !important;}
.nav-bar {display: flex;justify-content: center;background-color: transparent; transition: all 0.4s ease;border-bottom: none;}
.nav-container {display: flex;justify-content: space-between;align-items: center;width: 100%;max-width: 1400px;padding: 10px 50px;}
.logo-dark { display: none !important; }
.logo-light { height: 100px; display: block; }
.menu-links a {text-decoration: none;color: white;padding: 20px 15px;font-weight: bold;transition: 0.3s;}
.main-header.scrolled {background-color: white;box-shadow: 0 4px 10px rgba(0,0,0,0.1);}
.main-header.scrolled .nav-bar {background-color: white;}
.main-header.scrolled .logo-light { display: none !important; }
.main-header.scrolled .logo-dark { display: block !important; height: 80px; }
.main-header.scrolled .menu-links a {color: #000000;}
.main-header.scrolled .menu-links a:hover {color: #699A00;text-decoration: underline;}
/*ESTILOS DE LA SECCIÓN HERO*/
.hero-video {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;z-index: -1; }
.hero-section {background-position: center center;background-size: cover;height: 100vh; color: white; display: flex;justify-content: flex-end;align-items: center;text-align: center;padding-right: 0px;margin-top: 0; padding-top: 0;width: 100%;position: relative;}
.hero-content {background-color: rgba(255, 255, 255, 0.616);padding: 50px;max-width: 50%; color: rgb(0, 0, 0);margin-top: 100px;margin-right: 0px;}
.hero-content h1 {font-family: 'Playfair Display', serif;font-size: 3em; color: #000000;}
.button-contact {background-color: #ffffff;color: #699A00;text-decoration: none;font-weight: bold;padding: 15px 30px;border-radius: 50px;text-transform: uppercase;display: inline-block;margin-top: 20px;transition: all 0.3s ease;}
.button-contact:hover {transform: scale(1.1);}
/*ESTILOS DE LA VENTANA EMERGENTE (MODAL)*/
.modal {position: fixed;z-index: 1000;left: 0;top: 0; width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.7);display: flex;justify-content: center;align-items: center;visibility: hidden;opacity: 0;transition: opacity 0.3s ease, visibility 0.3s ease;}
.modal.show-modal {visibility: visible;opacity: 1;}
.modal-content {background-color: #fefefe;padding: 20px;border: 1px solid #888;width: 80%;max-width: 800px;border-radius: 8px;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);position: relative;display: flex;animation-name: animatemodal;animation-duration: 0.4s;}
@keyframes animatemodal {from {top: -300px;opacity: 0;}to {top: 0;opacity: 1;}}
.close-button {color: #aaa;font-size: 28px;font-weight: bold;position: absolute;right: 15px;top: 10px;}
.close-button:hover,
.close-button:focus {color: black;text-decoration: none;cursor: pointer;}
.modal-body {display: flex;width: 100%;gap: 20px;}
.modal-image {flex: 1;display: flex;align-items: center;justify-content: center;}
.modal-image img {max-width: 100%;height: auto;border-radius: 5px;}
.modal-form {flex: 2;padding: 10px;text-align: left;color: #333;}
.modal-form h2 {color: #699A00;margin-top: 0;font-family: 'Playfair Display', serif;}
.modal-form label {display: block;margin-bottom: 5px;font-weight: bold;}
.modal-form input[type="text"],
.modal-form input[type="email"],
.modal-form input[type="tel"] {width: calc(100% - 20px);padding: 10px;margin-bottom: 15px;border: 1px solid #ddd;border-radius: 4px;}
.modal-form button[type="submit"] {background-color: #699A00;color: white;padding: 10px 20px;border: none;border-radius: 5px;cursor: pointer;font-size: 1em;font-weight: bold;transition: background-color 0.3s ease;}
/*ESTILOS DE LA SECCIÓN DE SERVICIOS*/
.services-section {padding: 50px 0;text-align: center; background-color: #dddddd;}
.services-section h1 {font-family: 'Playfair Display', serif;font-size: 3.5em;color: #000000;margin-bottom: 40px;text-align: center;}
.white-box {background-color: white;padding: 40px;border-radius: 20px;box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);max-width: 1400px;margin: 0 auto;}
.services-container {display: flex;justify-content: center;flex-wrap: wrap; gap: 30px;margin-top: 20px;}
.service-card {width: 400px;height: 400px; background-color: white;border-radius: 15px;box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);overflow: hidden;transition: transform 0.3s ease, box-shadow 0.3s ease; text-align: left;position: relative; margin-bottom: 30px; flex-grow: 0;flex-direction: column; display: flex;}
.service-card:hover {transform: translateY(-10px);box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);}
.card-image {position: relative;width: 100%;height: 250px; overflow: hidden;}
.card-image img {width: 100%;height: 100%;object-fit: cover;display: block;}
.service-title-overlay {background-color: white;color: #699A00;padding: 10px 15px;font-weight: bold;text-align: left;position: relative;z-index: 10;margin-top: -30px;margin-left: 15px; width: fit-content;border-radius: 5px;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}
.service-title-overlay h3 {margin: 0;font-family: sans-serif;font-size: 1.2em;text-transform: uppercase;}
.card-content {background-color: #699A00;color: rgb(255, 255, 255);padding: 15px; text-align: CENTER; font-size: 0.95em; line-height: 1.5; margin-top: -20px; flex-grow: 1; }
.card-content h4 {margin-top: 0;font-size: 1.1em;font-weight: 700;color: rgb(0, 0, 0);line-height: 1.2;text-transform: uppercase;}
.card-content p {margin: 20px 0 0;font-weight: bold;}
/* ========================================================= */
/* ESTILOS DE PÁGINA COMPLETA SERVICES.HTML */
/* ========================================================= */
.services-banner {padding: 40px 40px;color: rgb(0, 0, 0);}
.services-page-detail {padding: 80px 50px;background-color: white;}
.services-grid-page {max-width: 1200px;margin: 0 auto;display: flex;flex-direction: column; gap: 60px;}
.service-card-detail {display: flex;align-items: center;gap: 40px;padding: 30px;border-radius: 10px;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);background-color: #f9f9f9;}
.service-card {transition: transform 0.4s ease, box-shadow 0.4s ease !important;cursor: pointer;overflow: hidden;}
.service-card:hover {transform: translateY(-10px) scale(1.05) !important;box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;}
.service-card-detail.reverse-layout {flex-direction: row-reverse;}
.card-image-detail {flex: 1;min-width: 300px;}
.card-image-detail img {width: 100%;height: auto;border-radius: 10px;object-fit: cover }
.card-content-detail {flex: 1;padding: 20px 0;}
.card-content-detail h2 {font-family: 'Playfair Display', serif;color: var(--color-principal-verde);font-size: 2em;margin-top: 0;}
.card-content-detail p {font-size: 1.1em;line-height: 1.6;margin-bottom: 25px;color: #555;}
/* ------------------- ESTILOS DE LA SECCIÓN ABOUT US ------------------- */
.about-section {position: relative; padding: 100px; text-align: center;margin-top: 0;overflow: hidden; background-image: url('about2.png'); background-size: cover; background-position: center ;background-repeat: no-repeat;box-shadow: inset 0 0 0 2000px rgba(105, 100, 100, 0.5); }
.about-container{display: flex; align-items: center; justify-content: center; max-width: 1200px; margin: 0 auto; gap: 50px; text-align: center; position: relative; z-index: 2; }
.about-images {flex: 1; position: relative;min-width: 300px; height: 450px;}
.about-images img {width: 300px; height: 350px; object-fit: cover;border-radius: 15px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); position: absolute;}
.img-main {top: 0;left: 0;z-index: 1; }
.img-secondary {bottom: 0;right: 0; transform: translate(20px, 20px); z-index: 2; }
.about-content {flex: 1; text-align: left;}
.about-content h1 {font-family: 'Playfair Display', serif; font-size: 3em;color: white; margin-bottom: 20px;}
.about-content h3 {font-size: 1.1em;line-height: 1.6;color: #f0f0f0; font-weight: normal; margin: 0;}
/* ========================================================= */
/* ESTILOS DE PÁGINA COMPLETA ABOUT.HTML */
/* ========================================================= */
.page-title-banner {background-image: url("background1.png"); background-size:cover; color: #ffffff;padding: 40px 40px;text-align: center;text-transform: uppercase;font-family: 'Playfair Display', serif;}
.page-title-banner h1 {font-size: 3em; margin: 0;padding-top: 150px;}
.about-page-section {padding: 80px 50px;background-color: #f7f7f7;padding-top: 150px; }
.about-page-container {display: flex;max-width: 1200px;margin: 0 auto;gap: 70px;align-items: flex-start;}
.about-page-content {flex: 1;text-align: left;padding-top: 0;}
.about-page-content h2 {font-family: 'Playfair Display', serif;font-size: 2.5em;color: #333;margin-bottom: 20px;}
.mission-text {font-size: 1.1em;line-height: 1.7;margin-bottom: 20px;}
.values-section h3 {font-size: 1.5em;color: var(--color-principal-verde); margin-top: 30px;}
.values-section ul {list-style: none;padding-left: 0;}
.values-section li {font-size: 1em;line-height: 1.5; margin-bottom: 10px;padding-left: 20px; position: relative;}
.values-section li::before {content: "✅";position: absolute;left: 0;color: var(--color-principal-verde); }
/* ------------------- ESTILOS DE LA SECCIÓN DE PROYECTOS ------------------- */
.projects-section {padding: 80px 50px;background-color: white;text-align: center;}
.projects-title {font-family: 'Playfair Display', serif;font-size: 3em;color: #333;margin-bottom: 50px;text-transform: uppercase;font-weight: normal;}
.projects-grid {display: grid;grid-template-columns: repeat(4, 1fr); gap: 20px;max-width: 1200px;margin: 0 auto 50px auto;}
.project-item {position: relative;overflow: hidden;border-radius: 10px;transition: all 0.4s ease; aspect-ratio: 1 / 1;}
.project-item:hover {transform: translateY(-10px);box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);}
.project-item {overflow: hidden;border-radius: 10px; border: 1px solid rgba(128, 0, 128, 0.2); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1)}
.project-img {width: 100%;height: 100%;display: block;object-fit: cover;}
.gallery-link {font-family: sans-serif;font-size: 1.2em;font-weight: bold;color: #1a421b;text-decoration: underline;text-transform: uppercase;transition: color 0.3s ease;padding: 10px 0;}
.gallery-link:hover {color: #2e622f;}
/* ========================================================= */
/* ESTILOS DE PÁGINA COMPLETA PROJECTS.HTML */
/* ========================================================= */
.projects-banner {padding: 40px 40px;color: rgb(255, 255, 255);}
.projects-gallery-detail {padding: 10px 50px;background-color: white; text-align: center;}
.gallery-subtitle {font-family: sans-serif;font-size: 1.5em;color: #555;margin-bottom: 50px;font-weight: 400;}
.projects-grid-page {max-width: 1000px;margin: 0 auto;display: flex;flex-direction: column; gap: 70px; }
.project-item-detail {display: flex;align-items: center;gap: 40px;text-align: left;border-bottom: 1px solid #eee;padding-bottom: 30px;}
.project-img-detail {width: 450px; height: 300px;object-fit: cover;border-radius: 8px;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);flex-shrink: 0; }
.project-info h3 {font-family: 'Playfair Display', serif;color: var(--color-principal-verde);font-size: 1.8em;margin-top: 0;}
.project-info p {font-size: 1.1em;line-height: 1.6;color: #555;}
.project-slider-container {position: relative;width: 450px;height: 300px;overflow: hidden;border-radius: 8px;flex-shrink: 0;}
.slider-wrapper {display: flex;transition: transform 0.5s ease-in-out;width: 100%;height: 100%;}
.slider-wrapper img {width: 100%;height: 100%;object-fit: cover;flex-shrink: 0;}
.prev-btn, .next-btn {position: absolute;top: 50%;transform: translateY(-50%);background: rgba(105, 154, 0, 0.7);color: white;border: none;padding: 10px 15px;cursor: pointer;z-index: 5;border-radius: 50%;font-size: 18px;transition: background 0.3s;}
.prev-btn:hover, .next-btn:hover {background: #1A421B;}
.prev-btn { left: 10px; }
.next-btn { right: 10px; }
.lightbox {display: none;position: fixed;z-index: 2000;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.9);justify-content: center;align-items: center;}
.lightbox-content {margin: auto;display: block;max-width: 80%;max-height: 80%;border-radius: 5px;animation: zoomIn 0.3s;}
.lightbox-prev, .lightbox-next {position: absolute;top: 50%;transform: translateY(-50%);background: rgba(255, 255, 255, 0.2);color: white;border: none;font-size: 40px;padding: 20px;cursor: pointer;z-index: 2100;transition: background 0.3s;border-radius: 5px;}
.lightbox-prev:hover, .lightbox-next:hover {background: rgba(105, 154, 0, 0.8); }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-container {display: flex;justify-content: center;align-items: center;width: 100%;height: 100%;}

@keyframes zoomIn {from { transform: scale(0.5); opacity: 0; }to { transform: scale(1); opacity: 1; }}
/* ------------------- ESTILOS DE LA SECCIÓN DE TESTIMONIOS ------------------- */
.testimonials-section {padding: 80px 50px;text-align: center;color: #000000;background-image: url('fondo-madera.jpg');background-size: cover;background-position: center center;}
.testimonials-title {font-family: 'Playfair Display', serif;font-size: 3em;color: #699A00;margin-bottom: 50px;text-transform: uppercase;font-weight: normal;}
.testimonials-container {display: flex;justify-content: center;gap: 30px;max-width: 1200px;margin: 0 auto;}
.testimonial-card {flex: 1;padding: 30px;text-align: left;background-color: rgba(26, 66, 27, 0.8);box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);border-radius: 5px;}
.testimonial-card p {font-size: 1.1em;line-height: 1.6;margin-bottom: 15px;color: white;}
.testimonial-card .client-name {font-family: 'Playfair Display', serif;font-size: 1.1em;font-weight: bold;color: #e28743;text-align: right;}
/* ========================================================= */
/* ESTILOS DE PÁGINA COMPLETA TESTIMONIALS.HTML */
/* ========================================================= */
.testimonials-title {color: #699A00;}
.testimonials-banner {padding: 40px 40px;color: #000000(0, 0, 0);}
.testimonials-page-grid {padding: 10px 50px;text-align: center;background-color: #f7f7f7;}
.grid-subtitle {font-family: sans-serif;font-size: 1.5em;color: #555;margin-bottom: 40px;font-weight: 400;text-transform: uppercase;}
.testimonials-grid-container {max-width: 1200px;margin: 0 auto;display: grid;grid-template-columns: repeat(3, 1fr); gap: 30px; }
.testimonial-card {min-height: 250px;background-color: white;box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);border-top: 5px solid var(--color-principal-verde);padding: 25px;text-align: left;}
.testimonial-card p {color: #333;font-style: italic;line-height: 1.6;}
.testimonial-card .client-name {font-family: sans-serif;font-weight: bold;color: #699A00;margin-top: 15px;text-align: right;font-style: normal;}
.quote-icon {font-size: 3em;color: var(--color-principal-verde);line-height: 0.5;margin-bottom: 20px;display: inline-block;}
/* ------------------- ESTILOS DE LA SECCIÓN FINAL CTA/CONTACTO ------------------- */
.final-contact-section {padding: 80px 50px;background-color: white;text-align: center;max-width: 1200px;margin: 0 auto;}
.cta-block {margin-bottom: 60px;}
.cta-title {font-family: 'Playfair Display', serif;font-size: 3em;color: #333;margin-bottom: 30px;text-transform: uppercase;}
.cta-text {font-size: 1.1em;line-height: 1.7;color: #555;margin: 0 auto 30px auto;max-width: 800px;}
.cta-subtext {font-size: 1.3em;font-weight: bold;color: #d14949;margin-bottom: 25px;}
.cta-button {background-color: #699A00;color: white;text-decoration: none;font-weight: bold;padding: 15px 40px;border-radius: 5px;text-transform: uppercase;display: inline-block;transition: all 0.3s ease;}
.cta-button:hover {transform: scale(1.05);background-color: #699A00;}
.submit-form-btn {background-color: #699A00;color: white;text-decoration: none;font-weight: bold;padding: 15px 40px;border-radius: 5px;text-transform: uppercase;display: inline-block;transition: all 0.3s ease;}
.info-container {display: flex;justify-content: space-between;align-items: flex-start;padding-top: 50px;border-top: 1px solid #ddd;}
.info-left {flex: 1;text-align: left;padding-right: 30px;}
.map-right {flex: 1;display: flex;justify-content: flex-end;}
.service-map-img {max-width: 100%;height: auto;border-radius: 10px;box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
.cities-title, .hours-title {font-family: sans-serif;font-size: 1.8em;font-weight: 800;color: #333;margin-bottom: 10px;text-transform: uppercase;}
.cities-text {font-size: 1em;line-height: 1.5;color: #777;margin-bottom: 30px;}
.hours-list {font-size: 1.1em;line-height: 1.8;color: #333;margin-top: 15px;font-weight: bold;}
.hours-language {font-size: 0.9em;color: #777;margin-top: 10px;}
/* ========================================================= */
/* ESTILOS DE PÁGINA COMPLETA CONTACT.HTML */
/* ========================================================= */
.contact-banner {padding: 40px 40px;color: rgb(255, 255, 255);}
.contact-banner h1 {font-size: 2.5em;font-family: 'Playfair Display', serif;margin: 0;}
.contact-form-section {padding: 10px 50px;background-color: white;}
.contact-layout-grid {max-width: 1100px;margin: 0 auto;display: grid;grid-template-columns: 3fr 2fr; gap: 60px;}
.form-column {padding: 30px;background-color: #f7f7f7;border-radius: 10px;box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);}
.form-title {font-family: 'Playfair Display', serif;color: var(--color-principal-verde);margin-top: 0;font-size: 2.2em;}
.form-subtitle {font-size: 1.1em;color: #555;margin-bottom: 30px;}
.estimate-form label {display: block;margin-top: 15px;margin-bottom: 5px;font-weight: bold;color: #333;}
.estimate-form input[type="text"],
.estimate-form input[type="tel"],
.estimate-form input[type="email"],
.estimate-form textarea {width: 100%;padding: 12px;border: 1px solid #ccc;border-radius: 5px;box-sizing: border-box;}
.estimate-form button[type="submit"] {margin-top: 30px;width: 100%;text-decoration: none;border: none;outline: none;}
.info-column h2 {font-family: sans-serif;color: var(--color-principal-verde);font-size: 1.5em;border-bottom: 2px solid #eee;padding-bottom: 10px;margin-top: 30px;}
.info-column h2:first-child {margin-top: 0;}
.detail-item {font-size: 1em;line-height: 1.6;margin-bottom: 15px;color: #699A00;}
.detail-item i {color: #699A00;margin-right: 10px;font-size: 1.2em;}
.hours-list-page {list-style: none;padding: 0;}
.hours-list-page li {display: flex;justify-content: space-between;padding: 5px 0;border-bottom: 1px dashed #ddd;font-size: 0.95em;}
.hours-list-page li span {font-weight: bold;}
/* ------------------- ESTILOS DEL FOOTER (PIE DE PÁGINA) ------------------- */
footer {background-color: #699A00;color: white; padding: 40px 50px 10px 50px; font-family: sans-serif;}
.footer-container {display: flex;justify-content: space-between; align-items: flex-start; max-width: 1200px;margin: 0 auto;padding-bottom: 30px;}
.footer-logo-block {text-align: left;}
.footer-logo-block .footer-logo-img {height: 90px;width: auto;display: block;margin-bottom: 0; }
.footer-contact-block {text-align: right;line-height: 1.5;}
.social-links {display: flex;justify-content: flex-end; gap: 15px; align-items: center;margin-bottom: 10px;}
.social-icon-img {height: 30px; width: auto;transition: transform 0.3s;}
.social-icon-img:hover {transform: scale(1.1); }
.footer-email, .footer-phone {font-size: 1.2em;font-weight: bold;margin: 0;line-height: 1.5;}
.footer-copyright {text-align: center;border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 15px;font-size: 0.85em;max-width: 1200px;margin: 0 auto;}
.privacy-link {color: white;text-decoration: none;font-weight: bold;display: block;margin-bottom: 5px;}
.privacy-link:hover {text-decoration: underline;}

/* --- RESPONSIVIDAD GENERAL (Media Queries) --- */
@media (max-width: 768px) {
* {box-sizing: border-box;margin: 0;padding: 0;}
html, body {max-width: 100%;overflow-x: hidden;}
body {overflow-x: hidden;width: 100%;}

    .top-bar {display: none !important;}
    .main-header {width: 100%;left: 0;background-color: white;box-shadow: 0 2px 10px rgba(0,0,0,0.1);}
    .nav-container {display: flex !important;justify-content: space-between !important;align-items: center !important;padding: 10px 20px !important;max-width: 100%;}
    .logo-light {display: none !important; }
    .logo-dark {display: block !important;height: 60px !important;}
    .menu-links {display: none !important;}
    .menu-icon {display: block !important;cursor: pointer;margin-left: auto;z-index: 1000;}
    .menu-icon i {color: #000000 !important;font-size: 28px !important;}
    .mobile-menu {position: fixed;top: 0;right: -100%; width: 75%; height:100vh; gap: 40px; background-color: #ffffff;z-index: 1000;transition: right 0.4s ease-in-out;display: flex !important;flex-direction: column;padding: 30px 20px;box-shadow: -5px 0 15px rgba(0,0,0,0.1);}
    .mobile-menu.open {right: 0 !important; }
    .close-btn {align-self: flex-end;font-size: 35px;color: #333;cursor: pointer;margin-bottom: 30px;}
    .mobile-nav-bar {display: flex;flex-direction: column;gap: 10px;}
    .mobile-nav-bar a {text-decoration: none;color: #333;font-size: 1.2rem;font-weight: bold;padding: 15px;border-bottom: 1px solid #f0f0f0;transition: color 0.3s;}
    .mobile-nav-bar a:hover {color: #699A00;background-color: #f9f9f9;}
    .mobile-estimate-btn {margin-top: 20px;background-color: #699A00 !important;color: white !important;text-align: center;border-radius: 5px;border-bottom: none !important;}
    .hero-section { justify-content: center; height: 80vh; }
    .hero-content { max-width: 90%; margin-top: 100px; padding: 20px; }
    .hero-content h1 { font-size: 2rem; }
    .services-container, .projects-grid, .testimonials-grid-container {grid-template-columns: 1fr !important; display: flex; flex-direction: column; align-items: center;}
    .service-card { width: 100%; max-width: 350px; }
    .project-item-detail, .service-card-detail {flex-direction: column !important;text-align: center;}
    .project-img-detail, .card-image-detail { width: 100%; height: auto; }
    .mobile-social-icons {display: flex !important;justify-content: center !important;gap: 15px !important;margin-top: 10px !important;padding-bottom: 20px !important;}
    .mobile-social-icons img {height: 50px !important; width: auto !important;transition: transform 0.2s ease;opacity: 0.9; }
    .mobile-social-icons a:active img {transform: scale(0.9);opacity: 1;}
    .page-title-banner {padding: 20px 15px !important;}
    .page-title-banner h1 {padding-top: 80px !important; font-size: 1.8rem !important; line-height: 1.2;}
    .services-page-detail, 
    .about-page-section, 
    .projects-gallery-detail, 
    .contact-form-section {padding-top: 30px !important; }

    /* About Us */
    .about-section, .about-page-section {padding: 40px 20px !important;overflow: hidden;}
    .about-container, .about-page-container {flex-direction: column !important;gap: 20px !important;width: 100% !important;}
    .about-images {width: 100% !important;height: auto !important; display: flex;flex-direction: column;align-items: center;gap: 15px;position: relative;}
    .about-images .img-secondary {display: none !important;}
    .about-images img {position: relative !important; width: 90% !important; height: auto !important;max-width: 300px;transform: none !important; left: 0 !important;margin: 0 auto;}
    .about-content, .about-page-content {text-align: center !important; padding: 0 !important;width: 100% !important;}
    .about-content h1, .about-page-content h2 {font-size: 1.8rem !important; margin-bottom: 15px;}
    .about-content h3, .mission-text {font-size: 1rem !important;line-height: 1.5;color: #ffffff;}
    .about-container, .about-page-container { flex-direction: column; text-align: center; }
    .about-images { height: 300px; margin-bottom: 40px; }
    .img-main, .img-secondary { width: 200px; height: 250px; }
    .about-page-content h2, 
    .about-page-content .mission-text,
    .about-page-content .values-section h3 {color: #000000 !important;}

    /* Projets */
    .projects-grid-page {gap: 40px; padding: 0 5px;}
    .project-item-detail {flex-direction: column !important;align-items: center;text-align: center;gap: 20px;padding-bottom: 40px;}
    .project-slider-container {width: 100%;height: 250px;}
    .project-info {width: 100%;}
    .project-info h3 {font-size: 1.4em;}

    /* --- LIGHTBOX (ZOOM) PARA MÓVIL --- */
    .lightbox {display: none; flex-direction: column; justify-content: center !important; align-items: center !important;    padding: 0 !important; margin: 0 !important;height: 100vh; width: 100vw;  top: 0;left: 0;}
    .lightbox-container {display: flex;justify-content: center;align-items: center;height: 100%; width: 100%;transform: translateY(-30px);}
    .lightbox-content {max-width: 95%; max-height: 60vh; margin: 0 auto;object-fit: contain;}
    .lightbox-prev, .lightbox-next {background: rgba(0, 0, 0, 0.5);padding: 15px;font-size: 25px;position: absolute;}

    /* Testimonials */
    .testimonials-container {display: flex !important;flex-direction: column !important;gap: 20px !important; width: 100% !important;padding: 0 10px !important;}
    .testimonial-card {width: 100% !important; flex: none !important; margin-bottom: 10px;min-height: auto !important;}
    .testimonials-title {font-size: 2rem !important;margin-bottom: 30px;padding: 0 15px;}
    
    /* Contact Page */
    .contact-layout-grid { grid-template-columns: 1fr; gap: 30px; }
    .info-container { flex-direction: column; }
    .map-right { margin-top: 30px; width: 100%; }

    /* Modal */
    .modal-content { flex-direction: column; width: 95%; top: 5% !important; }
    .modal-body { flex-direction: column; }
    .modal-image { display: none; }
    
    /* Footer */ 
    footer {padding: 5px 20px 10px 20px !important;}
    .footer-container {flex-direction: column !important;align-items: center !important;text-align: center !important;gap: 15px !important;padding: 10px 0 !important;}
    .footer-logo-block {text-align: center !important;width: 100% !important;}
    .footer-logo-img {margin: 0 auto !important; height: 70px !important; }
    .footer-contact-block {text-align: center !important;width: 100% !important;}
    .social-links {justify-content: center !important; margin-bottom: 15px !important;}
    .footer-email, .footer-phone {font-size: 1.1em !important;margin-bottom: 10px !important;}
    .footer-copyright {padding: 20px 10px !important;font-size: 0.8em !important;}
}