/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
/* MG Fusta — CSS adicional para Site Settings > CSS personalizado (spec §10) */

/* Cabecera superpuesta al hero en escritorio y tablet */
.mgf-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; }
@media (max-width: 767px) { .mgf-header { position: static; background: #eceae7; } }
.mgf-header-line { border-bottom: 1px solid #6b6964; padding-bottom: 6px; margin-right:20px; }
@media (max-width: 767px) { .mgf-header-line { border-bottom: 0; padding-bottom: 0; } }
.mgf-header .wpml-ls-item a { color: #7f7f7f; }
.mgf-header .wpml-ls-item a::after { content: " \203A"; }
.mgf-header .current-menu-item > a { font-weight: 700; }
.mgf-hablamos { min-height: 70px; display: flex; align-items: center; justify-content: center; }
.mgf-hablamos a { text-decoration: none; }

/* Hero */
.mgf-hero-title { max-width: 900px; margin: 0 auto; }
.mgf-hero-img img { width: 100%; height: 300px; object-fit: cover; }
/* Home: el hero mantiene la proporción exacta de hero-home.jpg (2000x1016) para que la foto no se recorte
   y la puerta blanca (14 % derecho de la foto) quede justo bajo la pestaña ¿HABLAMOS? (columna del 14 %). */
@media (min-width: 1025px) {
  .mgf-hero-porta { aspect-ratio: 2000 / 1016; }
  .mgf-hero-porta > .elementor-container { min-height: 100% !important; }
}

/* Formulario del pie */
.mgf-form .elementor-field-group .elementor-field { background: transparent; border: 0; border-bottom: 1px solid #6b6964; border-radius: 0; padding: 10px 0; box-shadow: none; }
.mgf-form .elementor-field::placeholder { color: #000000; opacity: 1; }
.mgf-form textarea.elementor-field { resize: none; }
@media (max-width: 767px) {
  .mgf-form .elementor-field::placeholder { text-align: center; }
  .mgf-form .elementor-field-type-submit { justify-content: center; }
  .mgf-form .elementor-button { width: 60%; }
}

/* Lista de servicios (Home) */
.mgf-lista-servicios .elementor-icon-list-text { line-height: 1.35; }
.mgf-lista-servicios .mgf-desc { display: block; font-size: 15px; font-weight: 300; letter-spacing: 0; text-transform: none; color: #000000; margin-top: 2px; }
@media (max-width: 767px) {
  .mgf-lista-servicios .elementor-icon-list-item { flex-direction: column; text-align: center; }
  .mgf-lista-servicios .elementor-icon-list-icon { margin: 0 0 8px 0; }
  .mgf-lista-servicios .elementor-icon-list-text { padding-left: 0; }
}

/* Home: bloque Servicios */
@media (max-width: 767px) { .mgf-servicios-foto { min-height: 380px; } }

/* Tarjetas de proyecto y equipo */
.mgf-card { position: relative; min-height: 580px; transition: opacity .3s; }
.mgf-card:hover { opacity: .85; }
.mgf-card .elementor-widget-container { margin: 0; }
.mgf-card h3 a::after { content: ""; position: absolute; inset: 0; }
@media (max-width: 767px) { .mgf-card { min-height: 360px; } }

/* Galería de proyectos: alternancia 2 + 1 */
.mgf-grid-proyectos .elementor-loop-container { grid-template-columns: repeat(2, 1fr); }
.mgf-grid-proyectos .e-loop-item:nth-child(3n) { grid-column: span 2; }
.mgf-grid-proyectos .e-loop-item:nth-child(3n) .mgf-card { min-height: 560px; }
@media (max-width: 767px) {
  .mgf-grid-proyectos .elementor-loop-container { grid-template-columns: 1fr; }
  .mgf-grid-proyectos .e-loop-item:nth-child(3n) { grid-column: auto; }
  .mgf-grid-proyectos .e-loop-item:nth-child(3n) .mgf-card { min-height: 360px; }
}

/* Utilidades de relación de aspecto */
.mgf-ratio-43 img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.mgf-ratio-23 img { aspect-ratio: 2 / 3; width: 100%; object-fit: cover; }
.mgf-ratio-11 img { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; }
.mgf-ratio-21 img { aspect-ratio: 2 / 1; width: 100%; object-fit: cover; }

/* Pie: separadores verticales */
.mgf-footer-col { border-left: 1px solid #6b6964; }
@media (max-width: 767px) { .mgf-footer-col { border-left: 0; } }

/* Single de proyecto */
.mgf-single-hero img { width: 100%; height: 60vh; object-fit: cover; }
