/*
Theme Name:Gania
Theme URI:http://gania.pe
Description:Tema hijo de Astra para el proyecto Gania
Author:La Vaca Mu / Javier Yamashita
Author URI:http://lavacamu.pe
Template:astra
Version:1.0.0
Text Domain:gania
*/


/* Clase base para asegurar que la imagen llene el contenedor */
.ratio-1-1 img,  .ratio-21-9 img,  .ratio-16-9 img,  .ratio-4-3 img,  .ratio-3-4 img,  .ratio-3-2 img,  .ratio-2-3 img { object-fit:cover !important; width:100% !important; height:100% !important; }
.ratio-1-1 img { aspect-ratio:1 / 1; }
.ratio-21-9 img { aspect-ratio:21 / 9; }
.ratio-16-9 img { aspect-ratio:16 / 9; }
.ratio-4-3 img { aspect-ratio:4 / 3; }
.ratio-3-4 img { aspect-ratio:3 / 4; }
.ratio-3-2 img { aspect-ratio:3 / 2; }
.ratio-2-3 img { aspect-ratio:2 / 3; }

.ast-desktop .main-header-menu.ast-menu-shadow .sub-menu { background-color: rgba(24, 48, 48, 0.58); box-shadow:none; }
.ast-theme-transparent-header .main-header-menu .menu-link:hover, .ast-theme-transparent-header .main-header-menu .menu-link:focus,
.ast-theme-transparent-header .ast-builder-menu .main-header-menu .current-menu-item > .menu-link,
.ast-theme-transparent-header .ast-builder-menu .main-header-menu .current-menu-ancestor > .menu-link { color:var(--ast-global-color-0); }

/* GRID */
.gania-loop-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }

/* --- LAYOUT PROYECTO (overlay verde) --- */
.proyecto-item { position:relative; display:block; overflow:hidden; aspect-ratio:3 / 2; border-radius:20px; }
.proyecto-item .proyecto-img { height:100%; }
.proyecto-item .proyecto-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.proyecto-item .proyecto-overlay { position:absolute; inset:0; background:rgba(0, 85, 45, 0.65); display:flex; justify-content:center; align-items:center; opacity:0; transition:opacity .35s ease; }
.proyecto-item .proyecto-overlay h3 { color:#fff; font-size:22px; text-align:center; margin:0; padding:0 15px; }
.proyecto-item:hover .proyecto-overlay { opacity:1; }
.proyecto-item:hover .proyecto-img img { transform:scale(1.08); }

/* --- LAYOUT BLOG --- */
.blog-item { display:flex; align-items:stretch; height:100% }
.blog-item .blog-img { position:relative; display:block; overflow:hidden; aspect-ratio:3 / 2; border-radius:20px; }
.blog-item .blog-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.blog-item .blog-img:hover img { transform:scale(1.08); }
.blog-item .blog-meta-date { color:#666; font-size:14px; margin-bottom:0; text-transform:uppercase; }
.blog-item .blog-title { font-weight:600; font-size:1.5rem; line-height:1.2em; margin-bottom:0; }
.blog-item .blog-title a { color:var(--e-global-color-astglobalcolor2); text-decoration:none; }
.blog-item .blog-title a:hover { color:var(--e-global-color-astglobalcolor1); }
.blog-item .blog-excerpt { margin-bottom:15px; margin-top:10px; color:var(--e-global-color-text); }

.blog-item .elementor-button-content-wrapper { flex-direction:row-reverse; gap:8px; }
.blog-item .elementor-button { font-weight:700; font-size:16px; letter-spacing:-0.4px; color:var(--e-global-color-astglobalcolor2) !important; fill:var(--e-global-color-astglobalcolor2); text-decoration:none !important; padding:10px 30px 10px 30px;  background-color:#0B340200; border:2px solid var(--e-global-color-astglobalcolor2); }
.blog-item .elementor-button:hover { color:var(--e-global-color-astglobalcolor4) !important; fill:var(--e-global-color-astglobalcolor4); background-color:#0B3402; }


.wp-block-button .wp-block-button__link, .elementor-widget-button .elementor-button, .elementor-widget-button .elementor-button:visited {
    color: var(--ast-global-color-2);
}

@media (max-width:767px) { 
	.gania-loop-grid { grid-template-columns:1fr; gap:20px; }
}

/* GRID tipo blog */
.gania-blog-grid { gap:45px; align-items:start; }
.blog-item { display:flex; flex-direction:column; gap:20px; }

@media (max-width:767px) { 
	.gania-loop-grid { grid-template-columns:1fr; gap:30px; }
	.blog-item .blog-title { font-size:20px; }
}

/* Espaciado para la Paginación */
.ast-pagination { display:flex; justify-content:center; margin-top:30px; }
.ast-pagination ul.page-numbers { display:flex; justify-content:center; align-items:center; gap:10px; list-style:none !important; margin:0; padding: 0; }/
.ast-pagination ul.page-numbers li { margin: 0 !important; padding: 0 !important; }
.ast-pagination ul.page-numbers li::before { content: none !important;  }
.ast-pagination .page-numbers { display:flex; align-items:center; justify-content:center; min-width:40px; height:40px; font-weight:600; font-size:16px; color: var(--ast-global-color-2); text-decoration:none !important; padding:0 5px; border:1px solid #e5e5e5; border-radius:4px; background-color:#fff;  transition:all 0.3s ease; }
.ast-pagination a.page-numbers:hover { color:var(--ast-global-color-0); border-color:var(--ast-global-color-0); background-color:transparent; }
.ast-pagination .page-numbers.current { color:#ffffff; border-color:var(--ast-global-color-0); background-color:var(--ast-global-color-0); }

.blog-item .blog-meta-date { font-weight:500; opacity:0.8; }
.blog-item .blog-excerpt p { margin-bottom:0; font-size:15px; line-height:1.5em; }

/* Ajuste para móviles en Grid Blog */
@media (max-width: 767px) {
	.gania-blog-grid {
		gap: 40px; /* Más espacio vertical entre posts de blog en móvil */
	}
}

/* Portafolio */
.parent-pageid-1780 .elementor-widget-heading h1.elementor-heading-title span { display:block; font-size:.5em; margin-bottom:-.5em; }

#menu-portafolio-categorias { list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
#menu-portafolio-categorias li a { display:block; font-weight:600; font-size:16px; line-height:1.2; letter-spacing:-0.4px; color:var(--e-global-color-astglobalcolor2); text-decoration:none; padding:10px 15px; border:2px solid var(--e-global-color-astglobalcolor2); border-radius:30px; background-color:#0B340200; }
#menu-portafolio-categorias li a:hover { color:#FFF; background:var(--e-global-color-astglobalcolor2); }
#menu-portafolio-categorias li.current-menu-item a, #menu-portafolio-categorias li.current_page_item a { color:#FFF; background:var(--e-global-color-astglobalcolor0); border-color:var(--e-global-color-astglobalcolor0); }


.single-proyecto  .site-content > .ast-container { max-width:100%; padding:0; }
.single-proyecto  .site .site-content #primary { padding: 0; margin: 0; }
.single-proyecto  .ast-page-builder-template .entry-header.ast-no-title.ast-no-thumbnail { margin-top:0; }
.ast-separate-container .ast-article-single { padding:0; }

.single-post .ast-primary-header-bar, .single-proyecto .ast-primary-header-bar { background-color:transparent; }

.single-proyecto  .entry-content .elementor-1780 { }
.single-proyecto  .entry-content :where(h1) { color:#FFF; margin:0; padding:0; }

.single-proyecto  .elementor-1780 .elementor-element.elementor-element-5ef7019::before { position:absolute; left:0; width:100%; width:100%; height:100%; content:''; background-color:transparent; background-image: linear-gradient(90deg, #0B3402 0%, #0B3402BD 100%); opacity:.55; z-index:1; }

.single-proyecto  .elementor-1780 .elementor-element.elementor-element-5ef7019:not(.elementor-motion-effects-element-type-background), 
.single-proyecto  .elementor-1780 .elementor-element.elementor-element-5ef7019 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
	 position:relative;
    background-image: url('/wp-content/uploads/nosotros-header.webp');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 65vh;
    padding:140px 40px 100px;
    overflow: hidden;
}
.single-proyecto  .e-con.e-flex>.e-con-inner { position:relative; z-index:2; }

@media (min-width: 922px) {
   .single-proyecto  .ast-primary-header-bar { border:0 none; }
}

@media (min-width: 768px) {
	.single-proyecto .elementor-widget-container { max-width:1200px; margin:0 auto; }
}


@media (min-width: 921px) {
	.single-proyecto #masthead { position: absolute; left: 0; right: 0; background:rgba(24, 48, 48, 0.58); }
}

.single-post #page .site-content { padding-top:0rem; }
.single-post #masthead { background-color:var(--ast-global-color-2); }
.single-post header.entry-header:not(.related-entry-header) .entry-title { font-size:3.375rem; line-height:1.2; font-weight:700; color: var(--e-global-color-astglobalcolor2); }
.single-post .entry-content a { color:var(--e-global-color-astglobalcolor2); }
.widget_search { display:none; }
#block-4 { display:none; } /*Comentarios*/
#block-5, #block-6, #block-7, #block-8, #block-9, #block-10 { display:none; } /*Archivos*/

.sticky, .single-post .sidebar-main { position:-webkit-sticky; position:sticky; top:20px; z-index: 999;  background: inherit; }

.proyecto-info-grid { display:flex; }
.proyecto-info-grid > .proyecto-contenido { flex:0 0 50%; width:50%; margin-right:4rem; margin-bottom:4rem; }

.ast-article-single .proyecto-galeria img { box-shadow:none; border-radius:20px; margin-bottom:1rem; }
.proyecto-info { flex:1; }
.entry-content .proyecto-info h2 { color: var(--e-global-color-astglobalcolor1); margin-top:1rem; }
.entry-content .proyecto-meta { list-style:none; margin:0 0 1rem; padding:1.25rem; background-color:#F3FAF6; border-radius:20px; }
.entry-content .proyecto-meta li { position:relative; padding-left:22px; background:url('assets/img/icono-check.svg') no-repeat left 7px; background-size:16px; }

/* NOSOTROS */
.nosotros-historia img { object-position:center 20%; }

#nuestro-equipo .ratio-3-4 img { aspect-ratio:387 / 460; }
#nuestro-equipo #denisse img { object-position:70% center; }

/* FOOTER */
footer, footer h5, footer a { color:#FFF; }
footer .widget_nav_menu li { margin-bottom:.5rem; }
.footer-widget-area[data-section="sidebar-widgets-footer-widget-1"].footer-widget-area-inner p { font-size:.9em; }
.footer-widget-area[data-section="sidebar-widgets-footer-widget-2"].footer-widget-area-inner a { color:#FFF; }
.footer-widget-area[data-section="sidebar-widgets-footer-widget-3"].footer-widget-area-inner a { color:#FFF; }
footer .current-menu-item a, footer .current_page_item a { color:#438c3f !important; }

footer .site-below-footer-wrap, footer .site-below-footer-wrap a { color:#526354; }