.elementor-kit-6{--e-global-color-primary:#173B6B;--e-global-color-secondary:#03203F;--e-global-color-text:#000000;--e-global-color-accent:#8E8E93;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:800;color:#000000;font-family:"Inter", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* GYG:inicio — no borrar esta línea */
/* García & García — CSS del sitio (Elementor > Ajustes del sitio > CSS personalizado) */

/* Astra: las páginas de Elementor ocupan todo el ancho */
.ast-page-builder-template .site-content > .ast-container,
body.elementor-template-full-width .site-content > .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; display: block; }
.ast-page-builder-template .site-content #primary { margin: 0; padding: 0; }

/* Menú: ítem activo en negrita, como en el diseño */
.gyg-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { font-weight: 700; }
.gyg-nav .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
@media (max-width: 1400px) and (min-width: 1025px) {
	.gyg-nav .elementor-nav-menu--main > .elementor-nav-menu > li:not(:last-child) { margin-right: clamp(28px, 4.5vw, 100px) !important; }
}

/* Logo sin halo de enlace */
.gyg-logo img { display: block; }

/* Botón del banner */
.gyg-btn .elementor-button { min-width: 272px; transition: background-color .2s ease, transform .2s ease; }
.gyg-btn .elementor-button:hover { transform: translateY(-2px); }

/* Contadores: números tabulares para que no "bailen" al animar */
.gyg-counter .elementor-counter-number-wrapper { font-variant-numeric: tabular-nums; justify-content: center; }
.gyg-counter .elementor-counter-title { max-width: 237px; margin-left: auto; margin-right: auto; text-align: center; }

/* Video redondeado */
.gyg-video .elementor-wrapper { border-radius: 40px; overflow: hidden; }
@media (max-width: 767px) { .gyg-video .elementor-wrapper { border-radius: 20px; } }

/* Logos de clientes: misma altura, ancho proporcional */
.gyg-clients .swiper-slide { display: flex; align-items: center; justify-content: center; height: 80px; }
.gyg-clients .swiper-slide-image { height: 80px; width: auto !important; max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
	.gyg-clients .swiper-slide { height: 56px; }
	.gyg-clients .swiper-slide-image { height: 56px; }
}

/* Tarjetas de áreas (Inicio), equipo y llamado final: zoom suave al pasar el mouse */
.gyg-area-card, .gyg-cta { transition: transform .3s ease, box-shadow .3s ease; text-decoration: none; }
.gyg-area-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(3, 32, 63, .25); }
.gyg-area-card .elementor-heading-title, .gyg-member .elementor-heading-title { margin: 0; }
.gyg-member .elementor-widget-text-editor p, .gyg-cta .elementor-widget-text-editor p { margin: 0; }
.gyg-cta:hover .elementor-widget-heading .elementor-heading-title { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }

/* Flip Box de Áreas legales: degradado azul al frente y reverso azul oscuro */
.gyg-flip .elementor-flip-box { border-radius: 40px; }
.gyg-flip .elementor-flip-box__front .elementor-flip-box__layer__overlay {
	background-image: linear-gradient(180deg, rgba(23, 59, 107, 0) 0%, #173b6b 100%) !important;
	background-color: transparent !important;
}
.gyg-flip .elementor-flip-box__back { background-color: #03203f; }
.gyg-flip .elementor-flip-box__layer__title { margin-bottom: 0; }
.gyg-flip .elementor-flip-box__front .elementor-flip-box__layer__title { max-width: 361px; margin-left: auto; margin-right: auto; }
.gyg-flip .elementor-flip-box__back .elementor-flip-box__layer__description { max-width: 433px; margin: 0 auto; }
@media (max-width: 767px) { .gyg-flip .elementor-flip-box { border-radius: 28px; } }

/* Formulario de contacto */
.gyg-form-card { box-shadow: 0 6px 10px 4px rgba(0, 0, 0, .15), 0 2px 3px 0 rgba(0, 0, 0, .3); }
.gyg-form .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) { min-height: 48px; padding: 0 20px; }
.gyg-form textarea.elementor-field { min-height: 120px; padding: 16px 20px !important; border-radius: 24px !important; resize: vertical; }
.gyg-form .elementor-field::placeholder { color: #8e8e93; opacity: 1; }
.gyg-form .elementor-field:focus { box-shadow: 0 0 0 2px #173b6b inset; }
.gyg-form .e-form__buttons { justify-content: center; }
.gyg-form .elementor-button[type="submit"] { width: min(260px, 100%); flex-basis: auto; min-height: 48px; }
.gyg-form .elementor-message { text-align: center; font-size: 17px; }
@media (max-width: 767px) {
	.gyg-form .elementor-field-group:not(.elementor-field-type-upload) .elementor-field:not(.elementor-select-wrapper) { min-height: 44px; }
	.gyg-form textarea.elementor-field { padding: 14px 18px !important; border-radius: 20px !important; }
	.gyg-form .elementor-button[type="submit"] { min-height: 46px; }
}

/* Mapa de contacto ocupa todo el panel */
.gyg-contact-map .elementor-widget-google_maps,
.gyg-contact-map .elementor-custom-embed { height: 100%; }
.gyg-contact-map iframe { height: 100% !important; min-height: 300px; display: block; }

/* Footer */
.gyg-footer a { text-decoration: none; }
.gyg-footer-list .elementor-icon-list-item a:hover .elementor-icon-list-text { text-decoration: underline; text-underline-offset: 4px; }
.gyg-footer-nav .elementor-icon-list-icon { display: none; }
.gyg-social .elementor-social-icon { background: transparent; }
.gyg-social .elementor-social-icon:hover { transform: translateY(-2px); }

/* Accesibilidad: foco visible */
.gyg-area-card:focus-visible, .gyg-cta:focus-visible, .gyg-flip:focus-within { outline: 3px solid #f2b705; outline-offset: 3px; }

/* Respeta "reducir movimiento" */
@media (prefers-reduced-motion: reduce) {
	.gyg-area-card, .gyg-cta, .gyg-btn .elementor-button { transition: none; }
	.gyg-area-card:hover, .gyg-btn .elementor-button:hover { transform: none; }
	.gyg-flip .elementor-flip-box__layer { transition-duration: .01s !important; }
}


/* Flip Box: esquinas redondeadas en ambas caras */
.gyg-flip .elementor-flip-box__layer { border-radius: 40px; overflow: hidden; }
@media (max-width: 767px) { .gyg-flip .elementor-flip-box__layer { border-radius: 28px; } }
/* GYG:fin *//* End custom CSS */