/* ===== Antonio Villanueva – efectos y diseño ===== */
body { overflow-x: hidden; }

/* --- Animaciones de entrada (como en la web original) --- */
.av-js .av-anim { opacity: 0; }
.av-js .av-anim.av-in { animation-duration: 1.25s; animation-fill-mode: both; }
.av-in.av-fadeIn { animation-name: avFadeIn; }
.av-in.av-fadeInDown { animation-name: avFadeInDown; }
.av-in.av-fadeInUp { animation-name: avFadeInUp; }
.av-in.av-fadeInLeft { animation-name: avFadeInLeft; }
.av-in.av-fadeInRight { animation-name: avFadeInRight; }
.av-in.av-d600 { animation-delay: .6s; }
@keyframes avFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes avFadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes avFadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes avFadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes avFadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.av-js .av-anim { opacity: 1 !important; animation: none !important; }
}

/* --- Marcos azules de las imágenes --- */
.av-frame img { box-shadow: 0 0 0 18px #200096; margin: 18px; max-width: calc(100% - 36px); }
.av-frame-sm img { box-shadow: 0 0 0 12px #200096; margin: 12px; max-width: calc(100% - 24px); }
.av-frame-round img { border-radius: 24px; }
@media (max-width: 767px) {
	.av-frame img { box-shadow: 0 0 0 10px #200096; margin: 10px; max-width: calc(100% - 20px); }
	.av-frame-sm img { box-shadow: 0 0 0 8px #200096; margin: 8px; max-width: calc(100% - 16px); }
}

/* --- Líneas decorativas --- */
hr.wp-block-separator.av-line {
	border: 0 !important; border-top: 4px solid #200096 !important;
	width: 80px !important; max-width: 80px !important;
	margin: 5px 0 10px 0 !important; opacity: 1 !important; background: none !important;
}
hr.wp-block-separator.av-line.av-line-c { margin-left: auto !important; margin-right: auto !important; }
hr.wp-block-separator.av-thin {
	border: 0 !important; border-top: 1px solid #221B9C !important;
	width: 100% !important; max-width: 100% !important;
	margin: 15px 0 !important; opacity: 1 !important; background: none !important;
}

/* --- Botones --- */
.av-btn .wp-block-button__link, .wp-block-button.av-btn .wp-block-button__link {
	background: #200096 !important; color: #fff !important;
	border-radius: 5px !important; padding: 20px !important; transition: background .3s;
}
.av-btn .wp-block-button__link:hover { background: #000 !important; }
.av-pulse .wp-block-button__link:hover { animation: avPulse 1s infinite; }
@keyframes avPulse { 25% { transform: scale(1.1); } 75% { transform: scale(.9); } }

/* --- Portada con el tablero de ajedrez: una sola columna centrada --- */
.av-hero .wp-block-cover__inner-container { max-width: 910px; width: 100%; margin: 0 auto; }
.av-hero, .av-hero p, .av-hero h2, .av-hero strong { color: #000 !important; }
.av-hero h1, .av-hero h6 { color: #0F172A !important; }
.av-hero .wp-block-button__link { color: #fff !important; }
.av-hero-logo, .av-hero-logo.aligncenter { display: block; width: 100%; text-align: center; margin: 0 auto 10px; }
.av-hero-logo img { width: 310px !important; max-width: 100%; height: auto; }
.av-hero hr.wp-block-separator.av-thin { max-width: 910px !important; margin-left: auto !important; margin-right: auto !important; }
.av-hero .av-hero-inner > * { margin-left: auto; margin-right: auto; }
.av-dirigido { font-size: 1.8em !important; line-height: 1.3; font-weight: 600; margin-top: 0; }
.av-hero h6 { margin-top: 20px; }
.av-hero h1 { margin: 10px 0; }
.av-consultoria { line-height: 2; margin: 0; }
.av-hero-desc { font-size: 21px; max-width: 650px; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 1024px) { .av-hero { padding: 120px 50px !important; } }
@media (max-width: 767px) {
	.av-hero { padding: 115px 25px 75px !important; }
	.av-dirigido { font-size: 1.25em !important; }
	.av-hero-desc { font-size: 15px; }
}

/* --- Cabecera como la original: sin logo y menú centrado en mayúsculas --- */
@media (min-width: 922px) {
	#ast-desktop-header .site-branding,
	#ast-desktop-header .ast-site-identity { display: none !important; }
	#ast-desktop-header .ast-primary-header-bar .ast-builder-grid-row {
		display: flex !important; justify-content: center !important;
	}
	#ast-desktop-header .ast-primary-header-bar .site-header-primary-section-left:empty,
	#ast-desktop-header .ast-primary-header-bar .site-header-primary-section-left { flex: 0 0 auto; }
	#ast-desktop-header .main-header-menu .menu-item > .menu-link {
		font-weight: 900; text-transform: uppercase; font-size: 20px;
	}
	#ast-desktop-header .ast-primary-header-bar,
	#ast-desktop-header .ast-primary-header-bar .site-primary-header-wrap { min-height: 70px; }
}
/* Cabecera transparente encima de la foto (Inicio, Servicios y Contacto) */
body.page-id-18 #masthead,
body.page-id-30 #masthead,
body.page-id-23 #masthead { position: absolute; left: 0; right: 0; z-index: 100; background: transparent; }
body.page-id-18 .ast-primary-header-bar,
body.page-id-30 .ast-primary-header-bar,
body.page-id-23 .ast-primary-header-bar,
body.page-id-18 .ast-mobile-header-wrap .main-header-bar,
body.page-id-30 .ast-mobile-header-wrap .main-header-bar,
body.page-id-23 .ast-mobile-header-wrap .main-header-bar { background: rgba(0, 0, 0, .07) !important; border: 0 !important; }
body.page-id-18 #masthead .main-header-menu .menu-link,
body.page-id-30 #masthead .main-header-menu .menu-link,
body.page-id-23 #masthead .main-header-menu .menu-link { color: #f5f7f9 !important; }
body.page-id-18 #masthead .main-header-menu .menu-item:hover > .menu-link,
body.page-id-18 #masthead .main-header-menu .current-menu-item > .menu-link,
body.page-id-30 #masthead .main-header-menu .menu-item:hover > .menu-link,
body.page-id-30 #masthead .main-header-menu .current-menu-item > .menu-link,
body.page-id-23 #masthead .main-header-menu .menu-item:hover > .menu-link,
body.page-id-23 #masthead .main-header-menu .current-menu-item > .menu-link { color: #ffffff !important; }
/* En Servicios y Contacto, deja hueco para la cabecera sobre la franja azul del título */
body.page-id-30 .entry-content > .wp-block-group:first-child,
body.page-id-23 .entry-content > .wp-block-group:first-child { padding-top: 140px !important; }

/* --- Método CERCANO --- */
.av-cercano { text-align: center; }
.av-tabs { display: flex; justify-content: center; flex-wrap: nowrap; gap: 14px; margin: 30px 0 25px; overflow-x: auto; }
.av-tab {
	background: #0F172A; color: #fff; border: 0; border-radius: 100%;
	padding: 30px 27px; font-size: 2rem; line-height: 1; font-family: inherit; font-weight: 600;
	cursor: pointer; min-width: 2.5em; transition: background .3s;
}
.av-tab:hover { background: #454F5E; color: #fff; }
.av-tab[aria-selected="true"] { background: #221B9C; }
.av-tab:focus-visible { outline: 3px solid #1A84EE; outline-offset: 3px; }
.av-panel h3 { color: #200096; margin-bottom: 8px; }
.av-panel[hidden] { display: none; }
@media (max-width: 767px) {
	.av-tabs { flex-wrap: wrap; gap: 5px; }
	.av-tab { padding: 10px 12px; font-size: 1em; }
}
