/*
Theme Name: Astra child
Author: 
Description: Your description goes here
Version: 1.0
Template: astra

This is the child theme for Astra theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/


model-viewer {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  display: block;
}


/* === Transición de página suave === */
body {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

body.fade-in {
  opacity: 1;
}

/* ESTO ES PARA BLOQUEAR LOS SOBRE MI Y EL CONTACTO */
.page-id-1907 {
	overflow: hidden;
}

.page-id-1431 {
	overflow: hidden;
}

.page-id-58 {
	overflow: hidden;
}

/* ESTO ES PARA EL TÍTULO DE LA WEB */
.site-title a {
	font-size:35pt;
	position: fixed;
	top: 20px; /* distancia desde el top de la ventana */
}

/* Estilo para móviles (pantallas de hasta 768px de ancho) */
@media (max-width: 768px) {
    .site-title a {
        font-size: 27pt; /* tamaño más pequeño en móvil */
        top: 30px; /* opcional: ajustar la distancia desde arriba */
    }
}

.page-id-1253 .menu-toggle,
.page-id-55 .menu-toggle,
.page-id-101 .menu-toggle {
    display: none !important;
}

.site-header-section {
    margin-top: 30px;
	height:10%;
}

.site-title {
  position: fixed;
  left: 30px; /* distancia desde la izquierda */
  z-index: 1000; /* para que quede encima de otros elementos */
}

.site-header-above-section-right {
	  position: fixed;
  right: 30px; /* distancia desde la izquierda */
  z-index: 99999; /* para que quede encima de otros elementos */
}

/* ESTO ES PARA QUE SE ALINEEN EL MENÚ Y EL TÍTULO */
#ast-hf-menu-1 li{
	line-height: 22px;
}

.main-header-menu .menu-link {
	padding-right: 0px;
	padding-top: 0px;
	overflow: none;
}

.dropdown-menu-toggle.ast-header-navigation-arrow {
	position: absolute;
	left: -10px;
}

.ast-above-header.ast-above-header-bar {
	height: 100px;
}

/* PARA EL FONDO DEL MENÚ DESPLEGABLE */
.ast-builder-menu-mobile .main-navigation .main-header-menu, .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link, .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu  {
	background-color: #f3f3f3;
}

/* Páginas donde ocultar menú y Portfolio */
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
.main-header-menu,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
aside[data-section="sidebar-widgets-header-widget-1"] { 
	display: none !important; 
} 

/* Flecha de atrás en páginas seleccionadas */
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) header#masthead,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .main-header-bar,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .site-header,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .ast-site-header,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .ast-header-break-point .site-header {
    position: relative !important;
    z-index: 99999 !important;
}

/* X a la derecha alineada */
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) header#masthead::before,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .main-header-bar::before,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .site-header::before,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .ast-site-header::before,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) .ast-header-break-point .site-header::before {
    content: "x";
    display: inline-block;
    font-size: 40px;
    font-weight: 900;
    font-family: cirruscumulus, sans-serif;
    color: inherit;
    position: absolute;
    top: 30px;
    right: 30px;
    line-height: 1;
    z-index: 100000;
    pointer-events: none;
}

/* --- Zona clicable de la X (todas las páginas seleccionadas) --- */
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
header#masthead::after,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
.main-header-bar::after,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
.site-header::after,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
.ast-site-header::after,
:is(.page-id-1571, .page-id-1580, .page-id-1602, .page-id-1253, .page-id-1009, .page-id-1130, .page-id-1815) 
.ast-header-break-point .site-header::after {
    content: "";
    position: absolute;
    top: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    z-index: 100001;
    cursor: pointer !important;      /* cursor forzado */
    pointer-events: auto !important; /* que reciba el click */
    background: transparent !important;
}


/* ESTO CAMBIA EL COLOR DE CONTACTO */
.page-id-58 {
	background-color: #f3f3f3;
}


/* ESTO CAMBIA EL HOVER DE ABOUT */
.page-id-1431 img:hover {
  opacity: 80%;
  transition: 0.3s ease-in-out;
}

.page-id-1431 img {
  opacity: 0%;
}

.page-id-1431 {
	position: relative;
}

.about {
	 position: absolute;
 top: 30%;
	right: -0.2%;
	align-content: center;
  color: rgba(0, 0, 0, 100);
  z-index: 0;
  margin: 0;
}

.wp-block-uagb-container.uagb-block-35592f9c{
	padding-left: 0;
}


/* ESTO ES PARA LA ANIMACIÓN DE LA PORTADA */
.page-id-1508 {
	position: relative;
}

body.page-id-1508 {
	overflow: hidden; /* para bloquear el scroll */
}

.loader {
  position: absolute;
  inset: 0;
	align-items: center;
	align-self: center;
  width: 100vw;
  object-fit: auto;
  z-index: -9999;
  pointer-events: none; /* 👈 deja pasar clics */
}

@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

body.page-id-819 {
	overflow-y: hidden;
}

/* ESTO ES PARA HACER SCROLL HORIZONTAL EN PROYECTOS 
.cb-carousel-block .swiper {
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  overflow-x: auto !important;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y !important;
}

.cb-carousel-block .swiper-wrapper {
  display: flex !important;
  flex-wrap: nowrap;
}

.cb-carousel-block .swiper-slide {
  flex-shrink: 0;
}

.cb-carousel-block .swiper:hover {
  cursor: grab;
}
.cb-carousel-block .swiper:active {
  cursor: grabbing;
}
*/



/* ESTO ES PARA LAS COOKIES */
#cookies-eu-banner {
	background-color: gray;
	opacity: 0.5;
	text-align: center;
	padding: 15px;
	width: 40%;
	font-size: 8pt;
	margin-bottom: 20px;
	justify-self: center;
	border-radius: 18px;
	z-index:99999;
  }

#cookies-eu-banner #cookies-eu-accept {
	color: gray;
	background-color: white;
	border: none;
	padding: 8px;
	margin-bottom:0;
	border-radius: 18px;
}


#cookies-eu-banner #cookies-eu-accept:hover {
	color: blue;
	background-color: white;
}


#cookies-eu-banner #cookies-eu-reject {
	color: gray;
	background-color: white;
	border: none;
	padding: 8px;
	margin-bottom:0;
	border-radius: 18px;
}


#cookies-eu-banner #cookies-eu-reject:hover {
	color: blue;
	background-color: white;
}


/*ESTO ES PARA PONER EN COLUMNA EL MENÚ PRINCIPAL*/
#block-17 p{
	margin-bottom: 0; !important
	margin-top: 0; !important
}

#ast-hf-menu-1 {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
	top:22px;
    align-items: end;
}




/* ESTO HACE QUE FUNCIONE EL SCROLL LATERAL DE PROYECTOS */
.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-f350f1b4 > .uagb-container-inner-blocks-wrap, .wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-20fed78c > .uagb-container-inner-blocks-wrap {
	flex-direction: row;
}

.entry-content > .wp-block-group{
	padding: 0;
}

.wp-container-core-group-is-layout-f1189ed3 {
	gap: 40px !important;
	display: flex;
  	overflow-x: auto;
}

.wp-container-core-group-is-layout-f1189ed3::-webkit-scrollbar {
  	display: none;
}

.wp-container-core-group-is-layout-d0d2426a {
    width: 12vw;
}

.wp-container-core-group-is-layout-d0d2426a > p {
	font-size: 1rem;
	height: 3vh;
}

.wp-container-core-group-is-layout-d0d2426a {
    min-width: 15vw !Important;
	min-height: 33vh; 
}

/* BOTÓN SCROLL ARRIBA */
#ast-scroll-top {
    background: gray;
	opacity: 40%;
    color: white; /* color de la flecha */
    width: 50px;
    height: 50px;
    border-radius: 15px; /* botón redondo */
    font-size: 24px;
    transition: all 0.3s;
}

#ast-scroll-top:hover {
    transform: translateY(-3px);
    opacity: 100%;
}


/* CSS adicional v2 */